|
|
@@ -0,0 +1,1442 @@
|
|
|
+/*
|
|
|
+ * Copyright (C) 2007-2010 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 <http://www.gnu.org/licenses/>.
|
|
|
+ */
|
|
|
+
|
|
|
+/*******************************************************************
|
|
|
+ *
|
|
|
+ * @author Daniel.Peintner.EXT@siemens.com
|
|
|
+ * @version 0.3.1
|
|
|
+ * @contact Joerg.Heuer@siemens.com
|
|
|
+ *
|
|
|
+ * <p>NOTE: Code generated by EXIdizer v0.1</p>
|
|
|
+ ********************************************************************/
|
|
|
+
|
|
|
+#ifndef EXI_ENCODER_C
|
|
|
+#define EXI_ENCODER_C
|
|
|
+
|
|
|
+#include <stdio.h>
|
|
|
+#include <stdint.h>
|
|
|
+#include <string.h>
|
|
|
+#include <stdlib.h>
|
|
|
+
|
|
|
+#include "EXITypes.h"
|
|
|
+#include "BitOutputStream.h"
|
|
|
+#include "BitEncoderChannel.h"
|
|
|
+
|
|
|
+#include "EXICoder.h"
|
|
|
+#include "EXIHeaderEncoder.h"
|
|
|
+
|
|
|
+/* ==================================== */
|
|
|
+
|
|
|
+int exiInitEncoder(bitstream_t* stream, exi_state_t* state) {
|
|
|
+ /* init grammar state */
|
|
|
+ state->stackIndex = 0;
|
|
|
+ state->grammarStack[0] = 0;
|
|
|
+ /* encode header */
|
|
|
+ return writeEXIHeader(stream);
|
|
|
+}
|
|
|
+
|
|
|
+int exiEncodeStartDocument(bitstream_t* stream, exi_state_t* state) {
|
|
|
+ if ( state->grammarStack[state->stackIndex] == 0 ) {
|
|
|
+ /* move on */
|
|
|
+ state->grammarStack[state->stackIndex] = 1;
|
|
|
+ return 0;
|
|
|
+ }
|
|
|
+
|
|
|
+ return -1;
|
|
|
+}
|
|
|
+
|
|
|
+int exiEncodeEndDocument(bitstream_t* stream, exi_state_t* state) {
|
|
|
+ if ( state->grammarStack[state->stackIndex] == 2) {
|
|
|
+ encodeFinish(stream);
|
|
|
+ return 0;
|
|
|
+ }
|
|
|
+
|
|
|
+ return -1;
|
|
|
+}
|
|
|
+
|
|
|
+static int _exiEncodeStartElement(bitstream_t* stream, uint16_t nbits, uint32_t val,
|
|
|
+ exi_state_t* state, eqname_t* se, uint16_t stackId, uint16_t newState) {
|
|
|
+ int errn = encodeNBitUnsignedInteger(stream, nbits, val);
|
|
|
+ if (errn) {
|
|
|
+ return errn;
|
|
|
+ }
|
|
|
+ /* move on */
|
|
|
+ state->grammarStack[state->stackIndex] = stackId;
|
|
|
+ /* push element on stack */
|
|
|
+ return exiPushStack(state, newState, se);
|
|
|
+}
|
|
|
+
|
|
|
+int exiEncodeStartElement(bitstream_t* stream, exi_state_t* state,
|
|
|
+ eqname_t* se) {
|
|
|
+ switch (state->grammarStack[state->stackIndex]) {
|
|
|
+ case 1:
|
|
|
+ /* DocContent[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDef}BodyElement), START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}LineLockReq), START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}LineLockRes), START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}MeteringReceiptReq), START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}MeteringReceiptRes), START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}MeteringStatusReq), START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}MeteringStatusRes), START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}PaymentDetailsReq), START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}PaymentDetailsRes), START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}PowerDeliveryReq), START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}PowerDeliveryRes), START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}PowerDiscoveryReq), START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}PowerDiscoveryRes), START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}ServiceDiscoveryReq), START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}ServiceDiscoveryRes), START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}ServicePaymentSelectionReq), START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}ServicePaymentSelectionRes), START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}SessionSetupReq), START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}SessionSetupRes), START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDef}V2G_Message), START_ELEMENT_GENERIC] */
|
|
|
+ if ( se->localPart == 2 && se->namespaceURI == 6 ) {
|
|
|
+ /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDef}BodyElement) */
|
|
|
+ return _exiEncodeStartElement(stream, 5, 0, state, se, 2, 3);
|
|
|
+ }
|
|
|
+ else if ( se->localPart == 10 && se->namespaceURI == 4 ) {
|
|
|
+ /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}LineLockReq) */
|
|
|
+ return _exiEncodeStartElement(stream, 5, 1, state, se, 2, 5);
|
|
|
+ }
|
|
|
+ else if ( se->localPart == 12 && se->namespaceURI == 4 ) {
|
|
|
+ /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}LineLockRes) */
|
|
|
+ return _exiEncodeStartElement(stream, 5, 2, state, se, 2, 6);
|
|
|
+ }
|
|
|
+ else if ( se->localPart == 15 && se->namespaceURI == 4 ) {
|
|
|
+ /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}MeteringReceiptReq) */
|
|
|
+ return _exiEncodeStartElement(stream, 5, 3, state, se, 2, 7);
|
|
|
+ }
|
|
|
+ else if ( se->localPart == 17 && se->namespaceURI == 4 ) {
|
|
|
+ /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}MeteringReceiptRes) */
|
|
|
+ return _exiEncodeStartElement(stream, 5, 4, state, se, 2, 8);
|
|
|
+ }
|
|
|
+ else if ( se->localPart == 19 && se->namespaceURI == 4 ) {
|
|
|
+ /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}MeteringStatusReq) */
|
|
|
+ return _exiEncodeStartElement(stream, 5, 5, state, se, 2, 9);
|
|
|
+ }
|
|
|
+ else if ( se->localPart == 21 && se->namespaceURI == 4 ) {
|
|
|
+ /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}MeteringStatusRes) */
|
|
|
+ return _exiEncodeStartElement(stream, 5, 6, state, se, 2, 10);
|
|
|
+ }
|
|
|
+ else if ( se->localPart == 30 && se->namespaceURI == 4 ) {
|
|
|
+ /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}PaymentDetailsReq) */
|
|
|
+ return _exiEncodeStartElement(stream, 5, 7, state, se, 2, 11);
|
|
|
+ }
|
|
|
+ else if ( se->localPart == 32 && se->namespaceURI == 4 ) {
|
|
|
+ /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}PaymentDetailsRes) */
|
|
|
+ return _exiEncodeStartElement(stream, 5, 8, state, se, 2, 12);
|
|
|
+ }
|
|
|
+ else if ( se->localPart == 34 && se->namespaceURI == 4 ) {
|
|
|
+ /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}PowerDeliveryReq) */
|
|
|
+ return _exiEncodeStartElement(stream, 5, 9, state, se, 2, 13);
|
|
|
+ }
|
|
|
+ else if ( se->localPart == 36 && se->namespaceURI == 4 ) {
|
|
|
+ /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}PowerDeliveryRes) */
|
|
|
+ return _exiEncodeStartElement(stream, 5, 10, state, se, 2, 14);
|
|
|
+ }
|
|
|
+ else if ( se->localPart == 38 && se->namespaceURI == 4 ) {
|
|
|
+ /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}PowerDiscoveryReq) */
|
|
|
+ return _exiEncodeStartElement(stream, 5, 11, state, se, 2, 15);
|
|
|
+ }
|
|
|
+ else if ( se->localPart == 40 && se->namespaceURI == 4 ) {
|
|
|
+ /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}PowerDiscoveryRes) */
|
|
|
+ return _exiEncodeStartElement(stream, 5, 12, state, se, 2, 16);
|
|
|
+ }
|
|
|
+ else if ( se->localPart == 45 && se->namespaceURI == 4 ) {
|
|
|
+ /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}ServiceDiscoveryReq) */
|
|
|
+ return _exiEncodeStartElement(stream, 5, 13, state, se, 2, 17);
|
|
|
+ }
|
|
|
+ else if ( se->localPart == 47 && se->namespaceURI == 4 ) {
|
|
|
+ /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}ServiceDiscoveryRes) */
|
|
|
+ return _exiEncodeStartElement(stream, 5, 14, state, se, 2, 18);
|
|
|
+ }
|
|
|
+ else if ( se->localPart == 50 && se->namespaceURI == 4 ) {
|
|
|
+ /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}ServicePaymentSelectionReq) */
|
|
|
+ return _exiEncodeStartElement(stream, 5, 15, state, se, 2, 19);
|
|
|
+ }
|
|
|
+ else if ( se->localPart == 52 && se->namespaceURI == 4 ) {
|
|
|
+ /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}ServicePaymentSelectionRes) */
|
|
|
+ return _exiEncodeStartElement(stream, 5, 16, state, se, 2, 20);
|
|
|
+ }
|
|
|
+ else if ( se->localPart == 56 && se->namespaceURI == 4 ) {
|
|
|
+ /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}SessionSetupReq) */
|
|
|
+ return _exiEncodeStartElement(stream, 5, 17, state, se, 2, 21);
|
|
|
+ }
|
|
|
+ else if ( se->localPart == 58 && se->namespaceURI == 4 ) {
|
|
|
+ /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}SessionSetupRes) */
|
|
|
+ return _exiEncodeStartElement(stream, 5, 18, state, se, 2, 22);
|
|
|
+ }
|
|
|
+ else if ( se->localPart == 5 && se->namespaceURI == 6 ) {
|
|
|
+ /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDef}V2G_Message) */
|
|
|
+ return _exiEncodeStartElement(stream, 5, 19, state, se, 2, 23);
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 5:
|
|
|
+ /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}PEVStatus)] */
|
|
|
+ if ( se->localPart == 29 && se->namespaceURI == 4 ) {
|
|
|
+ /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}PEVStatus) */
|
|
|
+ return _exiEncodeStartElement(stream, 0, 0, state, se, 24, 25);
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 6:
|
|
|
+ /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}ResponseCode)] */
|
|
|
+ if ( se->localPart == 44 && se->namespaceURI == 4 ) {
|
|
|
+ /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}ResponseCode) */
|
|
|
+ return _exiEncodeStartElement(stream, 0, 0, state, se, 32, 33);
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 7:
|
|
|
+ /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}PEVID), START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}PEVStatus)] */
|
|
|
+ if ( se->localPart == 24 && se->namespaceURI == 4 ) {
|
|
|
+ /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}PEVID) */
|
|
|
+ return _exiEncodeStartElement(stream, 1, 0, state, se, 46, 47);
|
|
|
+ }
|
|
|
+ else if ( se->localPart == 29 && se->namespaceURI == 4 ) {
|
|
|
+ /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}PEVStatus) */
|
|
|
+ return _exiEncodeStartElement(stream, 1, 1, state, se, 48, 25);
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 8:
|
|
|
+ /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}ResponseCode)] */
|
|
|
+ if ( se->localPart == 44 && se->namespaceURI == 4 ) {
|
|
|
+ /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}ResponseCode) */
|
|
|
+ return _exiEncodeStartElement(stream, 0, 0, state, se, 67, 68);
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 10:
|
|
|
+ /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}ResponseCode)] */
|
|
|
+ if ( se->localPart == 44 && se->namespaceURI == 4 ) {
|
|
|
+ /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}ResponseCode) */
|
|
|
+ return _exiEncodeStartElement(stream, 0, 0, state, se, 69, 70);
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 11:
|
|
|
+ /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}ContractID)] */
|
|
|
+ if ( se->localPart == 0 && se->namespaceURI == 4 ) {
|
|
|
+ /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}ContractID) */
|
|
|
+ return _exiEncodeStartElement(stream, 0, 0, state, se, 78, 79);
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 12:
|
|
|
+ /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}ResponseCode)] */
|
|
|
+ if ( se->localPart == 44 && se->namespaceURI == 4 ) {
|
|
|
+ /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}ResponseCode) */
|
|
|
+ return _exiEncodeStartElement(stream, 0, 0, state, se, 80, 81);
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 13:
|
|
|
+ /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}PEVStatus)] */
|
|
|
+ if ( se->localPart == 29 && se->namespaceURI == 4 ) {
|
|
|
+ /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}PEVStatus) */
|
|
|
+ return _exiEncodeStartElement(stream, 0, 0, state, se, 82, 25);
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 14:
|
|
|
+ /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}ResponseCode)] */
|
|
|
+ if ( se->localPart == 44 && se->namespaceURI == 4 ) {
|
|
|
+ /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}ResponseCode) */
|
|
|
+ return _exiEncodeStartElement(stream, 0, 0, state, se, 85, 86);
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 15:
|
|
|
+ /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}PEVStatus)] */
|
|
|
+ if ( se->localPart == 29 && se->namespaceURI == 4 ) {
|
|
|
+ /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}PEVStatus) */
|
|
|
+ return _exiEncodeStartElement(stream, 0, 0, state, se, 87, 25);
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 16:
|
|
|
+ /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}ResponseCode)] */
|
|
|
+ if ( se->localPart == 44 && se->namespaceURI == 4 ) {
|
|
|
+ /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}ResponseCode) */
|
|
|
+ return _exiEncodeStartElement(stream, 0, 0, state, se, 95, 96);
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 17:
|
|
|
+ /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}ServiceType), START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}ServiceScope), END_ELEMENT] */
|
|
|
+ if ( se->localPart == 55 && se->namespaceURI == 4 ) {
|
|
|
+ /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}ServiceType) */
|
|
|
+ return _exiEncodeStartElement(stream, 2, 0, state, se, 132, 133);
|
|
|
+ }
|
|
|
+ else if ( se->localPart == 54 && se->namespaceURI == 4 ) {
|
|
|
+ /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}ServiceScope) */
|
|
|
+ return _exiEncodeStartElement(stream, 2, 1, state, se, 134, 135);
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 18:
|
|
|
+ /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}ResponseCode)] */
|
|
|
+ if ( se->localPart == 44 && se->namespaceURI == 4 ) {
|
|
|
+ /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}ResponseCode) */
|
|
|
+ return _exiEncodeStartElement(stream, 0, 0, state, se, 136, 137);
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 19:
|
|
|
+ /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}ServiceList)] */
|
|
|
+ if ( se->localPart == 49 && se->namespaceURI == 4 ) {
|
|
|
+ /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}ServiceList) */
|
|
|
+ return _exiEncodeStartElement(stream, 0, 0, state, se, 155, 139);
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 20:
|
|
|
+ /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}ResponseCode)] */
|
|
|
+ if ( se->localPart == 44 && se->namespaceURI == 4 ) {
|
|
|
+ /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}ResponseCode) */
|
|
|
+ return _exiEncodeStartElement(stream, 0, 0, state, se, 156, 157);
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 21:
|
|
|
+ /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}PEVID), START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}PEVStatus)] */
|
|
|
+ if ( se->localPart == 24 && se->namespaceURI == 4 ) {
|
|
|
+ /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}PEVID) */
|
|
|
+ return _exiEncodeStartElement(stream, 1, 0, state, se, 158, 47);
|
|
|
+ }
|
|
|
+ else if ( se->localPart == 29 && se->namespaceURI == 4 ) {
|
|
|
+ /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}PEVStatus) */
|
|
|
+ return _exiEncodeStartElement(stream, 1, 1, state, se, 159, 25);
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 22:
|
|
|
+ /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}ResponseCode)] */
|
|
|
+ if ( se->localPart == 44 && se->namespaceURI == 4 ) {
|
|
|
+ /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}ResponseCode) */
|
|
|
+ return _exiEncodeStartElement(stream, 0, 0, state, se, 160, 161);
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 23:
|
|
|
+ /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDef}Header)] */
|
|
|
+ if ( se->localPart == 4 && se->namespaceURI == 6 ) {
|
|
|
+ /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDef}Header) */
|
|
|
+ return _exiEncodeStartElement(stream, 0, 0, state, se, 165, 166);
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 24:
|
|
|
+ /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}ReqLockStatus)] */
|
|
|
+ if ( se->localPart == 42 && se->namespaceURI == 4 ) {
|
|
|
+ /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}ReqLockStatus) */
|
|
|
+ return _exiEncodeStartElement(stream, 0, 0, state, se, 26, 27);
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 25:
|
|
|
+ /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}ConnectorLocked)] */
|
|
|
+ if ( se->localPart == 4 && se->namespaceURI == 5 ) {
|
|
|
+ /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}ConnectorLocked) */
|
|
|
+ return _exiEncodeStartElement(stream, 0, 0, state, se, 28, 27);
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 28:
|
|
|
+ /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}ChargerStandby)] */
|
|
|
+ if ( se->localPart == 0 && se->namespaceURI == 5 ) {
|
|
|
+ /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}ChargerStandby) */
|
|
|
+ return _exiEncodeStartElement(stream, 0, 0, state, se, 29, 30);
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 32:
|
|
|
+ /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}EVSEStatus)] */
|
|
|
+ if ( se->localPart == 6 && se->namespaceURI == 4 ) {
|
|
|
+ /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}EVSEStatus) */
|
|
|
+ return _exiEncodeStartElement(stream, 0, 0, state, se, 34, 35);
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 35:
|
|
|
+ /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}FatalError)] */
|
|
|
+ if ( se->localPart == 12 && se->namespaceURI == 5 ) {
|
|
|
+ /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}FatalError) */
|
|
|
+ return _exiEncodeStartElement(stream, 0, 0, state, se, 36, 37);
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 36:
|
|
|
+ /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}EVSEStandby)] */
|
|
|
+ if ( se->localPart == 7 && se->namespaceURI == 5 ) {
|
|
|
+ /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}EVSEStandby) */
|
|
|
+ return _exiEncodeStartElement(stream, 0, 0, state, se, 38, 30);
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 38:
|
|
|
+ /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}ConnectorLocked)] */
|
|
|
+ if ( se->localPart == 4 && se->namespaceURI == 5 ) {
|
|
|
+ /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}ConnectorLocked) */
|
|
|
+ return _exiEncodeStartElement(stream, 0, 0, state, se, 39, 27);
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 39:
|
|
|
+ /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}PowerSwitchClosed)] */
|
|
|
+ if ( se->localPart == 23 && se->namespaceURI == 5 ) {
|
|
|
+ /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}PowerSwitchClosed) */
|
|
|
+ return _exiEncodeStartElement(stream, 0, 0, state, se, 40, 41);
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 40:
|
|
|
+ /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}RCD)] */
|
|
|
+ if ( se->localPart == 25 && se->namespaceURI == 5 ) {
|
|
|
+ /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}RCD) */
|
|
|
+ return _exiEncodeStartElement(stream, 0, 0, state, se, 42, 43);
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 42:
|
|
|
+ /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}ShutDownTime)] */
|
|
|
+ if ( se->localPart == 36 && se->namespaceURI == 5 ) {
|
|
|
+ /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}ShutDownTime) */
|
|
|
+ return _exiEncodeStartElement(stream, 0, 0, state, se, 44, 45);
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 46:
|
|
|
+ /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}PEVStatus)] */
|
|
|
+ if ( se->localPart == 29 && se->namespaceURI == 4 ) {
|
|
|
+ /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}PEVStatus) */
|
|
|
+ return _exiEncodeStartElement(stream, 0, 0, state, se, 48, 25);
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 48:
|
|
|
+ /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}TCurrent), START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}Tariff)] */
|
|
|
+ if ( se->localPart == 60 && se->namespaceURI == 4 ) {
|
|
|
+ /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}TCurrent) */
|
|
|
+ return _exiEncodeStartElement(stream, 1, 0, state, se, 49, 45);
|
|
|
+ }
|
|
|
+ else if ( se->localPart == 61 && se->namespaceURI == 4 ) {
|
|
|
+ /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}Tariff) */
|
|
|
+ return _exiEncodeStartElement(stream, 1, 1, state, se, 50, 51);
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 49:
|
|
|
+ /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}Tariff)] */
|
|
|
+ if ( se->localPart == 61 && se->namespaceURI == 4 ) {
|
|
|
+ /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}Tariff) */
|
|
|
+ return _exiEncodeStartElement(stream, 0, 0, state, se, 50, 51);
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 50:
|
|
|
+ /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}MeterInfo)] */
|
|
|
+ if ( se->localPart == 14 && se->namespaceURI == 4 ) {
|
|
|
+ /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}MeterInfo) */
|
|
|
+ return _exiEncodeStartElement(stream, 0, 0, state, se, 52, 53);
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 53:
|
|
|
+ /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}MeterID), START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}MeterReading), START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}MeterStatus), START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}TMeter), END_ELEMENT] */
|
|
|
+ if ( se->localPart == 16 && se->namespaceURI == 5 ) {
|
|
|
+ /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}MeterID) */
|
|
|
+ return _exiEncodeStartElement(stream, 3, 0, state, se, 54, 55);
|
|
|
+ }
|
|
|
+ else if ( se->localPart == 18 && se->namespaceURI == 5 ) {
|
|
|
+ /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}MeterReading) */
|
|
|
+ return _exiEncodeStartElement(stream, 3, 1, state, se, 56, 57);
|
|
|
+ }
|
|
|
+ else if ( se->localPart == 19 && se->namespaceURI == 5 ) {
|
|
|
+ /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}MeterStatus) */
|
|
|
+ return _exiEncodeStartElement(stream, 3, 2, state, se, 58, 59);
|
|
|
+ }
|
|
|
+ else if ( se->localPart == 37 && se->namespaceURI == 5 ) {
|
|
|
+ /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}TMeter) */
|
|
|
+ return _exiEncodeStartElement(stream, 3, 3, state, se, 60, 45);
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 54:
|
|
|
+ /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}MeterReading), START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}MeterStatus), START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}TMeter), END_ELEMENT] */
|
|
|
+ if ( se->localPart == 18 && se->namespaceURI == 5 ) {
|
|
|
+ /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}MeterReading) */
|
|
|
+ return _exiEncodeStartElement(stream, 2, 0, state, se, 56, 57);
|
|
|
+ }
|
|
|
+ else if ( se->localPart == 19 && se->namespaceURI == 5 ) {
|
|
|
+ /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}MeterStatus) */
|
|
|
+ return _exiEncodeStartElement(stream, 2, 1, state, se, 58, 59);
|
|
|
+ }
|
|
|
+ else if ( se->localPart == 37 && se->namespaceURI == 5 ) {
|
|
|
+ /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}TMeter) */
|
|
|
+ return _exiEncodeStartElement(stream, 2, 2, state, se, 60, 45);
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 56:
|
|
|
+ /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}MeterStatus), START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}TMeter), END_ELEMENT] */
|
|
|
+ if ( se->localPart == 19 && se->namespaceURI == 5 ) {
|
|
|
+ /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}MeterStatus) */
|
|
|
+ return _exiEncodeStartElement(stream, 2, 0, state, se, 58, 59);
|
|
|
+ }
|
|
|
+ else if ( se->localPart == 37 && se->namespaceURI == 5 ) {
|
|
|
+ /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}TMeter) */
|
|
|
+ return _exiEncodeStartElement(stream, 2, 1, state, se, 60, 45);
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 57:
|
|
|
+ /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}Multiplier)] */
|
|
|
+ if ( se->localPart == 20 && se->namespaceURI == 5 ) {
|
|
|
+ /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}Multiplier) */
|
|
|
+ return _exiEncodeStartElement(stream, 0, 0, state, se, 61, 62);
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 58:
|
|
|
+ /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}TMeter), END_ELEMENT] */
|
|
|
+ if ( se->localPart == 37 && se->namespaceURI == 5 ) {
|
|
|
+ /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}TMeter) */
|
|
|
+ return _exiEncodeStartElement(stream, 1, 0, state, se, 60, 45);
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 61:
|
|
|
+ /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}Unit)] */
|
|
|
+ if ( se->localPart == 49 && se->namespaceURI == 5 ) {
|
|
|
+ /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}Unit) */
|
|
|
+ return _exiEncodeStartElement(stream, 0, 0, state, se, 63, 64);
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 63:
|
|
|
+ /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}Value)] */
|
|
|
+ if ( se->localPart == 50 && se->namespaceURI == 5 ) {
|
|
|
+ /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}Value) */
|
|
|
+ return _exiEncodeStartElement(stream, 0, 0, state, se, 65, 66);
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 69:
|
|
|
+ /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}EVSEID)] */
|
|
|
+ if ( se->localPart == 2 && se->namespaceURI == 4 ) {
|
|
|
+ /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}EVSEID) */
|
|
|
+ return _exiEncodeStartElement(stream, 0, 0, state, se, 71, 72);
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 71:
|
|
|
+ /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}EVSEStatus)] */
|
|
|
+ if ( se->localPart == 6 && se->namespaceURI == 4 ) {
|
|
|
+ /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}EVSEStatus) */
|
|
|
+ return _exiEncodeStartElement(stream, 0, 0, state, se, 73, 35);
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 73:
|
|
|
+ /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}TCurrent)] */
|
|
|
+ if ( se->localPart == 60 && se->namespaceURI == 4 ) {
|
|
|
+ /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}TCurrent) */
|
|
|
+ return _exiEncodeStartElement(stream, 0, 0, state, se, 74, 45);
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 74:
|
|
|
+ /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}EVSEMaxPower)] */
|
|
|
+ if ( se->localPart == 5 && se->namespaceURI == 4 ) {
|
|
|
+ /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}EVSEMaxPower) */
|
|
|
+ return _exiEncodeStartElement(stream, 0, 0, state, se, 75, 57);
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 75:
|
|
|
+ /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}PCurrent), START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}MeterInfo), END_ELEMENT] */
|
|
|
+ if ( se->localPart == 23 && se->namespaceURI == 4 ) {
|
|
|
+ /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}PCurrent) */
|
|
|
+ return _exiEncodeStartElement(stream, 2, 0, state, se, 76, 57);
|
|
|
+ }
|
|
|
+ else if ( se->localPart == 14 && se->namespaceURI == 4 ) {
|
|
|
+ /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}MeterInfo) */
|
|
|
+ return _exiEncodeStartElement(stream, 2, 1, state, se, 77, 53);
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 76:
|
|
|
+ /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}MeterInfo), END_ELEMENT] */
|
|
|
+ if ( se->localPart == 14 && se->namespaceURI == 4 ) {
|
|
|
+ /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}MeterInfo) */
|
|
|
+ return _exiEncodeStartElement(stream, 1, 0, state, se, 77, 53);
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 82:
|
|
|
+ /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}ReqSwitchStatus)] */
|
|
|
+ if ( se->localPart == 43 && se->namespaceURI == 4 ) {
|
|
|
+ /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}ReqSwitchStatus) */
|
|
|
+ return _exiEncodeStartElement(stream, 0, 0, state, se, 83, 41);
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 83:
|
|
|
+ /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}Tariff), END_ELEMENT] */
|
|
|
+ if ( se->localPart == 61 && se->namespaceURI == 4 ) {
|
|
|
+ /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}Tariff) */
|
|
|
+ return _exiEncodeStartElement(stream, 1, 0, state, se, 84, 51);
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 87:
|
|
|
+ /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}EoC)] */
|
|
|
+ if ( se->localPart == 9 && se->namespaceURI == 4 ) {
|
|
|
+ /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}EoC) */
|
|
|
+ return _exiEncodeStartElement(stream, 0, 0, state, se, 88, 45);
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 88:
|
|
|
+ /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}EAmount)] */
|
|
|
+ if ( se->localPart == 1 && se->namespaceURI == 4 ) {
|
|
|
+ /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}EAmount) */
|
|
|
+ return _exiEncodeStartElement(stream, 0, 0, state, se, 89, 57);
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 89:
|
|
|
+ /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}PEVMaxPower)] */
|
|
|
+ if ( se->localPart == 26 && se->namespaceURI == 4 ) {
|
|
|
+ /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}PEVMaxPower) */
|
|
|
+ return _exiEncodeStartElement(stream, 0, 0, state, se, 90, 57);
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 90:
|
|
|
+ /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}PEVMaxPhases)] */
|
|
|
+ if ( se->localPart == 25 && se->namespaceURI == 4 ) {
|
|
|
+ /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}PEVMaxPhases) */
|
|
|
+ return _exiEncodeStartElement(stream, 0, 0, state, se, 91, 92);
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 91:
|
|
|
+ /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}PEVMaxVoltage)] */
|
|
|
+ if ( se->localPart == 27 && se->namespaceURI == 4 ) {
|
|
|
+ /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}PEVMaxVoltage) */
|
|
|
+ return _exiEncodeStartElement(stream, 0, 0, state, se, 93, 57);
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 93:
|
|
|
+ /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}PEVMinVoltage)] */
|
|
|
+ if ( se->localPart == 28 && se->namespaceURI == 4 ) {
|
|
|
+ /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}PEVMinVoltage) */
|
|
|
+ return _exiEncodeStartElement(stream, 0, 0, state, se, 94, 57);
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 95:
|
|
|
+ /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}EVSEStatus)] */
|
|
|
+ if ( se->localPart == 6 && se->namespaceURI == 4 ) {
|
|
|
+ /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}EVSEStatus) */
|
|
|
+ return _exiEncodeStartElement(stream, 0, 0, state, se, 97, 35);
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 97:
|
|
|
+ /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}EVSEVoltage)] */
|
|
|
+ if ( se->localPart == 7 && se->namespaceURI == 4 ) {
|
|
|
+ /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}EVSEVoltage) */
|
|
|
+ return _exiEncodeStartElement(stream, 0, 0, state, se, 98, 57);
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 98:
|
|
|
+ /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}EVSEIMax)] */
|
|
|
+ if ( se->localPart == 3 && se->namespaceURI == 4 ) {
|
|
|
+ /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}EVSEIMax) */
|
|
|
+ return _exiEncodeStartElement(stream, 0, 0, state, se, 99, 57);
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 99:
|
|
|
+ /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}EVSEMaxPhases)] */
|
|
|
+ if ( se->localPart == 4 && se->namespaceURI == 4 ) {
|
|
|
+ /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}EVSEMaxPhases) */
|
|
|
+ return _exiEncodeStartElement(stream, 0, 0, state, se, 100, 92);
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 100:
|
|
|
+ /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}EnergyProvider), START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}TariffTable), END_ELEMENT] */
|
|
|
+ if ( se->localPart == 8 && se->namespaceURI == 4 ) {
|
|
|
+ /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}EnergyProvider) */
|
|
|
+ return _exiEncodeStartElement(stream, 2, 0, state, se, 101, 102);
|
|
|
+ }
|
|
|
+ else if ( se->localPart == 62 && se->namespaceURI == 4 ) {
|
|
|
+ /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}TariffTable) */
|
|
|
+ return _exiEncodeStartElement(stream, 2, 1, state, se, 103, 104);
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 101:
|
|
|
+ /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}TariffTable), END_ELEMENT] */
|
|
|
+ if ( se->localPart == 62 && se->namespaceURI == 4 ) {
|
|
|
+ /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}TariffTable) */
|
|
|
+ return _exiEncodeStartElement(stream, 1, 0, state, se, 103, 104);
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 104:
|
|
|
+ /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}Currency)] */
|
|
|
+ if ( se->localPart == 5 && se->namespaceURI == 5 ) {
|
|
|
+ /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}Currency) */
|
|
|
+ return _exiEncodeStartElement(stream, 0, 0, state, se, 105, 106);
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 105:
|
|
|
+ /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}Tariff)] */
|
|
|
+ if ( se->localPart == 38 && se->namespaceURI == 5 ) {
|
|
|
+ /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}Tariff) */
|
|
|
+ return _exiEncodeStartElement(stream, 0, 0, state, se, 107, 108);
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 107:
|
|
|
+ /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}Tariff), END_ELEMENT] */
|
|
|
+ if ( se->localPart == 38 && se->namespaceURI == 5 ) {
|
|
|
+ /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}Tariff) */
|
|
|
+ return _exiEncodeStartElement(stream, 1, 0, state, se, 109, 108);
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 108:
|
|
|
+ /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}TariffID)] */
|
|
|
+ if ( se->localPart == 45 && se->namespaceURI == 5 ) {
|
|
|
+ /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}TariffID) */
|
|
|
+ return _exiEncodeStartElement(stream, 0, 0, state, se, 114, 51);
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 109:
|
|
|
+ /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}Tariff), END_ELEMENT] */
|
|
|
+ if ( se->localPart == 38 && se->namespaceURI == 5 ) {
|
|
|
+ /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}Tariff) */
|
|
|
+ return _exiEncodeStartElement(stream, 1, 0, state, se, 110, 108);
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 110:
|
|
|
+ /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}Tariff), END_ELEMENT] */
|
|
|
+ if ( se->localPart == 38 && se->namespaceURI == 5 ) {
|
|
|
+ /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}Tariff) */
|
|
|
+ return _exiEncodeStartElement(stream, 1, 0, state, se, 111, 108);
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 111:
|
|
|
+ /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}Tariff), END_ELEMENT] */
|
|
|
+ if ( se->localPart == 38 && se->namespaceURI == 5 ) {
|
|
|
+ /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}Tariff) */
|
|
|
+ return _exiEncodeStartElement(stream, 1, 0, state, se, 112, 108);
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 112:
|
|
|
+ /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}Tariff), END_ELEMENT] */
|
|
|
+ if ( se->localPart == 38 && se->namespaceURI == 5 ) {
|
|
|
+ /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}Tariff) */
|
|
|
+ return _exiEncodeStartElement(stream, 1, 0, state, se, 113, 108);
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 114:
|
|
|
+ /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}TariffDescription), START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}TariffEntries)] */
|
|
|
+ if ( se->localPart == 40 && se->namespaceURI == 5 ) {
|
|
|
+ /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}TariffDescription) */
|
|
|
+ return _exiEncodeStartElement(stream, 1, 0, state, se, 115, 116);
|
|
|
+ }
|
|
|
+ else if ( se->localPart == 41 && se->namespaceURI == 5 ) {
|
|
|
+ /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}TariffEntries) */
|
|
|
+ return _exiEncodeStartElement(stream, 1, 1, state, se, 117, 118);
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 115:
|
|
|
+ /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}TariffEntries)] */
|
|
|
+ if ( se->localPart == 41 && se->namespaceURI == 5 ) {
|
|
|
+ /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}TariffEntries) */
|
|
|
+ return _exiEncodeStartElement(stream, 0, 0, state, se, 117, 118);
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 118:
|
|
|
+ /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}TariffEntry)] */
|
|
|
+ if ( se->localPart == 43 && se->namespaceURI == 5 ) {
|
|
|
+ /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}TariffEntry) */
|
|
|
+ return _exiEncodeStartElement(stream, 0, 0, state, se, 119, 120);
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 119:
|
|
|
+ /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}TariffEntry), END_ELEMENT] */
|
|
|
+ if ( se->localPart == 43 && se->namespaceURI == 5 ) {
|
|
|
+ /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}TariffEntry) */
|
|
|
+ return _exiEncodeStartElement(stream, 1, 0, state, se, 121, 120);
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 120:
|
|
|
+ /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}TariffStart)] */
|
|
|
+ if ( se->localPart == 47 && se->namespaceURI == 5 ) {
|
|
|
+ /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}TariffStart) */
|
|
|
+ return _exiEncodeStartElement(stream, 0, 0, state, se, 128, 129);
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 121:
|
|
|
+ /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}TariffEntry), END_ELEMENT] */
|
|
|
+ if ( se->localPart == 43 && se->namespaceURI == 5 ) {
|
|
|
+ /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}TariffEntry) */
|
|
|
+ return _exiEncodeStartElement(stream, 1, 0, state, se, 122, 120);
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 122:
|
|
|
+ /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}TariffEntry), END_ELEMENT] */
|
|
|
+ if ( se->localPart == 43 && se->namespaceURI == 5 ) {
|
|
|
+ /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}TariffEntry) */
|
|
|
+ return _exiEncodeStartElement(stream, 1, 0, state, se, 123, 120);
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 123:
|
|
|
+ /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}TariffEntry), END_ELEMENT] */
|
|
|
+ if ( se->localPart == 43 && se->namespaceURI == 5 ) {
|
|
|
+ /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}TariffEntry) */
|
|
|
+ return _exiEncodeStartElement(stream, 1, 0, state, se, 124, 120);
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 124:
|
|
|
+ /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}TariffEntry), END_ELEMENT] */
|
|
|
+ if ( se->localPart == 43 && se->namespaceURI == 5 ) {
|
|
|
+ /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}TariffEntry) */
|
|
|
+ return _exiEncodeStartElement(stream, 1, 0, state, se, 125, 120);
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 125:
|
|
|
+ /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}TariffEntry), END_ELEMENT] */
|
|
|
+ if ( se->localPart == 43 && se->namespaceURI == 5 ) {
|
|
|
+ /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}TariffEntry) */
|
|
|
+ return _exiEncodeStartElement(stream, 1, 0, state, se, 126, 120);
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 126:
|
|
|
+ /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}TariffEntry), END_ELEMENT] */
|
|
|
+ if ( se->localPart == 43 && se->namespaceURI == 5 ) {
|
|
|
+ /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}TariffEntry) */
|
|
|
+ return _exiEncodeStartElement(stream, 1, 0, state, se, 127, 120);
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 128:
|
|
|
+ /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}TariffPMax)] */
|
|
|
+ if ( se->localPart == 46 && se->namespaceURI == 5 ) {
|
|
|
+ /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}TariffPMax) */
|
|
|
+ return _exiEncodeStartElement(stream, 0, 0, state, se, 130, 57);
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 130:
|
|
|
+ /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}EPrice), END_ELEMENT] */
|
|
|
+ if ( se->localPart == 6 && se->namespaceURI == 5 ) {
|
|
|
+ /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}EPrice) */
|
|
|
+ return _exiEncodeStartElement(stream, 1, 0, state, se, 131, 57);
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 132:
|
|
|
+ /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}ServiceScope), END_ELEMENT] */
|
|
|
+ if ( se->localPart == 54 && se->namespaceURI == 4 ) {
|
|
|
+ /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}ServiceScope) */
|
|
|
+ return _exiEncodeStartElement(stream, 1, 0, state, se, 134, 135);
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 136:
|
|
|
+ /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}ServiceList), END_ELEMENT] */
|
|
|
+ if ( se->localPart == 49 && se->namespaceURI == 4 ) {
|
|
|
+ /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}ServiceList) */
|
|
|
+ return _exiEncodeStartElement(stream, 1, 0, state, se, 138, 139);
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 139:
|
|
|
+ /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}Service)] */
|
|
|
+ if ( se->localPart == 26 && se->namespaceURI == 5 ) {
|
|
|
+ /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}Service) */
|
|
|
+ return _exiEncodeStartElement(stream, 0, 0, state, se, 140, 141);
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 140:
|
|
|
+ /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}Service), END_ELEMENT] */
|
|
|
+ if ( se->localPart == 26 && se->namespaceURI == 5 ) {
|
|
|
+ /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}Service) */
|
|
|
+ return _exiEncodeStartElement(stream, 1, 0, state, se, 142, 141);
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 141:
|
|
|
+ /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}ServiceID)] */
|
|
|
+ if ( se->localPart == 28 && se->namespaceURI == 5 ) {
|
|
|
+ /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}ServiceID) */
|
|
|
+ return _exiEncodeStartElement(stream, 0, 0, state, se, 149, 150);
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 142:
|
|
|
+ /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}Service), END_ELEMENT] */
|
|
|
+ if ( se->localPart == 26 && se->namespaceURI == 5 ) {
|
|
|
+ /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}Service) */
|
|
|
+ return _exiEncodeStartElement(stream, 1, 0, state, se, 143, 141);
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 143:
|
|
|
+ /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}Service), END_ELEMENT] */
|
|
|
+ if ( se->localPart == 26 && se->namespaceURI == 5 ) {
|
|
|
+ /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}Service) */
|
|
|
+ return _exiEncodeStartElement(stream, 1, 0, state, se, 144, 141);
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 144:
|
|
|
+ /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}Service), END_ELEMENT] */
|
|
|
+ if ( se->localPart == 26 && se->namespaceURI == 5 ) {
|
|
|
+ /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}Service) */
|
|
|
+ return _exiEncodeStartElement(stream, 1, 0, state, se, 145, 141);
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 145:
|
|
|
+ /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}Service), END_ELEMENT] */
|
|
|
+ if ( se->localPart == 26 && se->namespaceURI == 5 ) {
|
|
|
+ /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}Service) */
|
|
|
+ return _exiEncodeStartElement(stream, 1, 0, state, se, 146, 141);
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 146:
|
|
|
+ /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}Service), END_ELEMENT] */
|
|
|
+ if ( se->localPart == 26 && se->namespaceURI == 5 ) {
|
|
|
+ /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}Service) */
|
|
|
+ return _exiEncodeStartElement(stream, 1, 0, state, se, 147, 141);
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 147:
|
|
|
+ /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}Service), END_ELEMENT] */
|
|
|
+ if ( se->localPart == 26 && se->namespaceURI == 5 ) {
|
|
|
+ /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}Service) */
|
|
|
+ return _exiEncodeStartElement(stream, 1, 0, state, se, 148, 141);
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 149:
|
|
|
+ /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}ServiceName), START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}ServiceType), START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}ServiceScope), END_ELEMENT] */
|
|
|
+ if ( se->localPart == 30 && se->namespaceURI == 5 ) {
|
|
|
+ /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}ServiceName) */
|
|
|
+ return _exiEncodeStartElement(stream, 2, 0, state, se, 151, 152);
|
|
|
+ }
|
|
|
+ else if ( se->localPart == 33 && se->namespaceURI == 5 ) {
|
|
|
+ /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}ServiceType) */
|
|
|
+ return _exiEncodeStartElement(stream, 2, 1, state, se, 153, 133);
|
|
|
+ }
|
|
|
+ else if ( se->localPart == 31 && se->namespaceURI == 5 ) {
|
|
|
+ /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}ServiceScope) */
|
|
|
+ return _exiEncodeStartElement(stream, 2, 2, state, se, 154, 135);
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 151:
|
|
|
+ /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}ServiceType), START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}ServiceScope), END_ELEMENT] */
|
|
|
+ if ( se->localPart == 33 && se->namespaceURI == 5 ) {
|
|
|
+ /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}ServiceType) */
|
|
|
+ return _exiEncodeStartElement(stream, 2, 0, state, se, 153, 133);
|
|
|
+ }
|
|
|
+ else if ( se->localPart == 31 && se->namespaceURI == 5 ) {
|
|
|
+ /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}ServiceScope) */
|
|
|
+ return _exiEncodeStartElement(stream, 2, 1, state, se, 154, 135);
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 153:
|
|
|
+ /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}ServiceScope), END_ELEMENT] */
|
|
|
+ if ( se->localPart == 31 && se->namespaceURI == 5 ) {
|
|
|
+ /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}ServiceScope) */
|
|
|
+ return _exiEncodeStartElement(stream, 1, 0, state, se, 154, 135);
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 158:
|
|
|
+ /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}PEVStatus)] */
|
|
|
+ if ( se->localPart == 29 && se->namespaceURI == 4 ) {
|
|
|
+ /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}PEVStatus) */
|
|
|
+ return _exiEncodeStartElement(stream, 0, 0, state, se, 159, 25);
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 160:
|
|
|
+ /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}EVSEID)] */
|
|
|
+ if ( se->localPart == 2 && se->namespaceURI == 4 ) {
|
|
|
+ /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}EVSEID) */
|
|
|
+ return _exiEncodeStartElement(stream, 0, 0, state, se, 162, 72);
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 162:
|
|
|
+ /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}EVSEStatus)] */
|
|
|
+ if ( se->localPart == 6 && se->namespaceURI == 4 ) {
|
|
|
+ /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}EVSEStatus) */
|
|
|
+ return _exiEncodeStartElement(stream, 0, 0, state, se, 163, 35);
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 163:
|
|
|
+ /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}TCurrent)] */
|
|
|
+ if ( se->localPart == 60 && se->namespaceURI == 4 ) {
|
|
|
+ /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}TCurrent) */
|
|
|
+ return _exiEncodeStartElement(stream, 0, 0, state, se, 164, 45);
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 165:
|
|
|
+ /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDef}Body)] */
|
|
|
+ if ( se->localPart == 0 && se->namespaceURI == 6 ) {
|
|
|
+ /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDef}Body) */
|
|
|
+ return _exiEncodeStartElement(stream, 0, 0, state, se, 167, 168);
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 166:
|
|
|
+ /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgHeader}SessionInformation)] */
|
|
|
+ if ( se->localPart == 2 && se->namespaceURI == 7 ) {
|
|
|
+ /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgHeader}SessionInformation) */
|
|
|
+ return _exiEncodeStartElement(stream, 0, 0, state, se, 169, 170);
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 168:
|
|
|
+ /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDef}BodyElement), START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}LineLockReq), START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}LineLockRes), START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}MeteringReceiptReq), START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}MeteringReceiptRes), START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}MeteringStatusReq), START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}MeteringStatusRes), START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}PaymentDetailsReq), START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}PaymentDetailsRes), START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}PowerDeliveryReq), START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}PowerDeliveryRes), START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}PowerDiscoveryReq), START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}PowerDiscoveryRes), START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}ServiceDiscoveryReq), START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}ServiceDiscoveryRes), START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}ServicePaymentSelectionReq), START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}ServicePaymentSelectionRes), START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}SessionSetupReq), START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}SessionSetupRes), END_ELEMENT] */
|
|
|
+ if ( se->localPart == 2 && se->namespaceURI == 6 ) {
|
|
|
+ /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDef}BodyElement) */
|
|
|
+ return _exiEncodeStartElement(stream, 5, 0, state, se, 186, 3);
|
|
|
+ }
|
|
|
+ else if ( se->localPart == 10 && se->namespaceURI == 4 ) {
|
|
|
+ /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}LineLockReq) */
|
|
|
+ return _exiEncodeStartElement(stream, 5, 1, state, se, 186, 5);
|
|
|
+ }
|
|
|
+ else if ( se->localPart == 12 && se->namespaceURI == 4 ) {
|
|
|
+ /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}LineLockRes) */
|
|
|
+ return _exiEncodeStartElement(stream, 5, 2, state, se, 186, 6);
|
|
|
+ }
|
|
|
+ else if ( se->localPart == 15 && se->namespaceURI == 4 ) {
|
|
|
+ /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}MeteringReceiptReq) */
|
|
|
+ return _exiEncodeStartElement(stream, 5, 3, state, se, 186, 7);
|
|
|
+ }
|
|
|
+ else if ( se->localPart == 17 && se->namespaceURI == 4 ) {
|
|
|
+ /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}MeteringReceiptRes) */
|
|
|
+ return _exiEncodeStartElement(stream, 5, 4, state, se, 186, 8);
|
|
|
+ }
|
|
|
+ else if ( se->localPart == 19 && se->namespaceURI == 4 ) {
|
|
|
+ /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}MeteringStatusReq) */
|
|
|
+ return _exiEncodeStartElement(stream, 5, 5, state, se, 186, 9);
|
|
|
+ }
|
|
|
+ else if ( se->localPart == 21 && se->namespaceURI == 4 ) {
|
|
|
+ /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}MeteringStatusRes) */
|
|
|
+ return _exiEncodeStartElement(stream, 5, 6, state, se, 186, 10);
|
|
|
+ }
|
|
|
+ else if ( se->localPart == 30 && se->namespaceURI == 4 ) {
|
|
|
+ /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}PaymentDetailsReq) */
|
|
|
+ return _exiEncodeStartElement(stream, 5, 7, state, se, 186, 11);
|
|
|
+ }
|
|
|
+ else if ( se->localPart == 32 && se->namespaceURI == 4 ) {
|
|
|
+ /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}PaymentDetailsRes) */
|
|
|
+ return _exiEncodeStartElement(stream, 5, 8, state, se, 186, 12);
|
|
|
+ }
|
|
|
+ else if ( se->localPart == 34 && se->namespaceURI == 4 ) {
|
|
|
+ /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}PowerDeliveryReq) */
|
|
|
+ return _exiEncodeStartElement(stream, 5, 9, state, se, 186, 13);
|
|
|
+ }
|
|
|
+ else if ( se->localPart == 36 && se->namespaceURI == 4 ) {
|
|
|
+ /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}PowerDeliveryRes) */
|
|
|
+ return _exiEncodeStartElement(stream, 5, 10, state, se, 186, 14);
|
|
|
+ }
|
|
|
+ else if ( se->localPart == 38 && se->namespaceURI == 4 ) {
|
|
|
+ /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}PowerDiscoveryReq) */
|
|
|
+ return _exiEncodeStartElement(stream, 5, 11, state, se, 186, 15);
|
|
|
+ }
|
|
|
+ else if ( se->localPart == 40 && se->namespaceURI == 4 ) {
|
|
|
+ /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}PowerDiscoveryRes) */
|
|
|
+ return _exiEncodeStartElement(stream, 5, 12, state, se, 186, 16);
|
|
|
+ }
|
|
|
+ else if ( se->localPart == 45 && se->namespaceURI == 4 ) {
|
|
|
+ /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}ServiceDiscoveryReq) */
|
|
|
+ return _exiEncodeStartElement(stream, 5, 13, state, se, 186, 17);
|
|
|
+ }
|
|
|
+ else if ( se->localPart == 47 && se->namespaceURI == 4 ) {
|
|
|
+ /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}ServiceDiscoveryRes) */
|
|
|
+ return _exiEncodeStartElement(stream, 5, 14, state, se, 186, 18);
|
|
|
+ }
|
|
|
+ else if ( se->localPart == 50 && se->namespaceURI == 4 ) {
|
|
|
+ /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}ServicePaymentSelectionReq) */
|
|
|
+ return _exiEncodeStartElement(stream, 5, 15, state, se, 186, 19);
|
|
|
+ }
|
|
|
+ else if ( se->localPart == 52 && se->namespaceURI == 4 ) {
|
|
|
+ /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}ServicePaymentSelectionRes) */
|
|
|
+ return _exiEncodeStartElement(stream, 5, 16, state, se, 186, 20);
|
|
|
+ }
|
|
|
+ else if ( se->localPart == 56 && se->namespaceURI == 4 ) {
|
|
|
+ /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}SessionSetupReq) */
|
|
|
+ return _exiEncodeStartElement(stream, 5, 17, state, se, 186, 21);
|
|
|
+ }
|
|
|
+ else if ( se->localPart == 58 && se->namespaceURI == 4 ) {
|
|
|
+ /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}SessionSetupRes) */
|
|
|
+ return _exiEncodeStartElement(stream, 5, 18, state, se, 186, 22);
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 169:
|
|
|
+ /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgHeader}Notification), END_ELEMENT] */
|
|
|
+ if ( se->localPart == 1 && se->namespaceURI == 7 ) {
|
|
|
+ /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgHeader}Notification) */
|
|
|
+ return _exiEncodeStartElement(stream, 1, 0, state, se, 171, 172);
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 170:
|
|
|
+ /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}SessionID)] */
|
|
|
+ if ( se->localPart == 34 && se->namespaceURI == 5 ) {
|
|
|
+ /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}SessionID) */
|
|
|
+ return _exiEncodeStartElement(stream, 0, 0, state, se, 173, 174);
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 172:
|
|
|
+ /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}FaultCode), START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}FaultMsg), START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}EventList), END_ELEMENT] */
|
|
|
+ if ( se->localPart == 13 && se->namespaceURI == 5 ) {
|
|
|
+ /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}FaultCode) */
|
|
|
+ return _exiEncodeStartElement(stream, 2, 0, state, se, 178, 179);
|
|
|
+ }
|
|
|
+ else if ( se->localPart == 14 && se->namespaceURI == 5 ) {
|
|
|
+ /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}FaultMsg) */
|
|
|
+ return _exiEncodeStartElement(stream, 2, 1, state, se, 180, 181);
|
|
|
+ }
|
|
|
+ else if ( se->localPart == 10 && se->namespaceURI == 5 ) {
|
|
|
+ /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}EventList) */
|
|
|
+ return _exiEncodeStartElement(stream, 2, 2, state, se, 182, 183);
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 173:
|
|
|
+ /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}ServiceSessionID), START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}ProtocolVersion), END_ELEMENT] */
|
|
|
+ if ( se->localPart == 32 && se->namespaceURI == 5 ) {
|
|
|
+ /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}ServiceSessionID) */
|
|
|
+ return _exiEncodeStartElement(stream, 2, 0, state, se, 175, 174);
|
|
|
+ }
|
|
|
+ else if ( se->localPart == 24 && se->namespaceURI == 5 ) {
|
|
|
+ /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}ProtocolVersion) */
|
|
|
+ return _exiEncodeStartElement(stream, 2, 1, state, se, 176, 177);
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 175:
|
|
|
+ /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}ProtocolVersion), END_ELEMENT] */
|
|
|
+ if ( se->localPart == 24 && se->namespaceURI == 5 ) {
|
|
|
+ /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}ProtocolVersion) */
|
|
|
+ return _exiEncodeStartElement(stream, 1, 0, state, se, 176, 177);
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 178:
|
|
|
+ /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}FaultMsg), START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}EventList), END_ELEMENT] */
|
|
|
+ if ( se->localPart == 14 && se->namespaceURI == 5 ) {
|
|
|
+ /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}FaultMsg) */
|
|
|
+ return _exiEncodeStartElement(stream, 2, 0, state, se, 180, 181);
|
|
|
+ }
|
|
|
+ else if ( se->localPart == 10 && se->namespaceURI == 5 ) {
|
|
|
+ /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}EventList) */
|
|
|
+ return _exiEncodeStartElement(stream, 2, 1, state, se, 182, 183);
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 180:
|
|
|
+ /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}EventList), END_ELEMENT] */
|
|
|
+ if ( se->localPart == 10 && se->namespaceURI == 5 ) {
|
|
|
+ /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}EventList) */
|
|
|
+ return _exiEncodeStartElement(stream, 1, 0, state, se, 182, 183);
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 183:
|
|
|
+ /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}Event)] */
|
|
|
+ if ( se->localPart == 9 && se->namespaceURI == 5 ) {
|
|
|
+ /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}Event) */
|
|
|
+ return _exiEncodeStartElement(stream, 0, 0, state, se, 184, 185);
|
|
|
+ }
|
|
|
+ break;
|
|
|
+
|
|
|
+ default:
|
|
|
+ return -1;
|
|
|
+ }
|
|
|
+
|
|
|
+ return -1;
|
|
|
+}
|
|
|
+
|
|
|
+int exiEncodeEndElement(bitstream_t* stream, exi_state_t* state,
|
|
|
+ eqname_t* ee) {
|
|
|
+ switch (state->grammarStack[state->stackIndex]) {
|
|
|
+ case 53:
|
|
|
+ /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}MeterID), START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}MeterReading), START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}MeterStatus), START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}TMeter), END_ELEMENT] */
|
|
|
+ encodeNBitUnsignedInteger(stream, 3, 4);
|
|
|
+ break;
|
|
|
+ case 3:
|
|
|
+ /* First(xsi:type)StartTag[END_ELEMENT] */
|
|
|
+ case 26:
|
|
|
+ /* Element[END_ELEMENT] */
|
|
|
+ case 29:
|
|
|
+ /* Element[END_ELEMENT] */
|
|
|
+ case 31:
|
|
|
+ /* Element[END_ELEMENT] */
|
|
|
+ case 34:
|
|
|
+ /* Element[END_ELEMENT] */
|
|
|
+ case 44:
|
|
|
+ /* Element[END_ELEMENT] */
|
|
|
+ case 52:
|
|
|
+ /* Element[END_ELEMENT] */
|
|
|
+ case 60:
|
|
|
+ /* Element[END_ELEMENT] */
|
|
|
+ case 65:
|
|
|
+ /* Element[END_ELEMENT] */
|
|
|
+ case 67:
|
|
|
+ /* Element[END_ELEMENT] */
|
|
|
+ case 9:
|
|
|
+ /* FirstStartTag[END_ELEMENT] */
|
|
|
+ case 77:
|
|
|
+ /* Element[END_ELEMENT] */
|
|
|
+ case 78:
|
|
|
+ /* Element[END_ELEMENT] */
|
|
|
+ case 80:
|
|
|
+ /* Element[END_ELEMENT] */
|
|
|
+ case 84:
|
|
|
+ /* Element[END_ELEMENT] */
|
|
|
+ case 85:
|
|
|
+ /* Element[END_ELEMENT] */
|
|
|
+ case 94:
|
|
|
+ /* Element[END_ELEMENT] */
|
|
|
+ case 103:
|
|
|
+ /* Element[END_ELEMENT] */
|
|
|
+ case 113:
|
|
|
+ /* Element[END_ELEMENT] */
|
|
|
+ case 117:
|
|
|
+ /* Element[END_ELEMENT] */
|
|
|
+ case 127:
|
|
|
+ /* Element[END_ELEMENT] */
|
|
|
+ case 131:
|
|
|
+ /* Element[END_ELEMENT] */
|
|
|
+ case 134:
|
|
|
+ /* Element[END_ELEMENT] */
|
|
|
+ case 138:
|
|
|
+ /* Element[END_ELEMENT] */
|
|
|
+ case 148:
|
|
|
+ /* Element[END_ELEMENT] */
|
|
|
+ case 154:
|
|
|
+ /* Element[END_ELEMENT] */
|
|
|
+ case 155:
|
|
|
+ /* Element[END_ELEMENT] */
|
|
|
+ case 156:
|
|
|
+ /* Element[END_ELEMENT] */
|
|
|
+ case 159:
|
|
|
+ /* Element[END_ELEMENT] */
|
|
|
+ case 164:
|
|
|
+ /* Element[END_ELEMENT] */
|
|
|
+ case 167:
|
|
|
+ /* Element[END_ELEMENT] */
|
|
|
+ case 171:
|
|
|
+ /* Element[END_ELEMENT] */
|
|
|
+ case 176:
|
|
|
+ /* Element[END_ELEMENT] */
|
|
|
+ case 182:
|
|
|
+ /* Element[END_ELEMENT] */
|
|
|
+ case 184:
|
|
|
+ /* Element[END_ELEMENT] */
|
|
|
+ case 186:
|
|
|
+ /* Element[END_ELEMENT] */
|
|
|
+ break;
|
|
|
+ case 54:
|
|
|
+ /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}MeterReading), START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}MeterStatus), START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}TMeter), END_ELEMENT] */
|
|
|
+ case 149:
|
|
|
+ /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}ServiceName), START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}ServiceType), START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}ServiceScope), END_ELEMENT] */
|
|
|
+ case 172:
|
|
|
+ /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}FaultCode), START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}FaultMsg), START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}EventList), END_ELEMENT] */
|
|
|
+ encodeNBitUnsignedInteger(stream, 2, 3);
|
|
|
+ break;
|
|
|
+ case 168:
|
|
|
+ /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDef}BodyElement), START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}LineLockReq), START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}LineLockRes), START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}MeteringReceiptReq), START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}MeteringReceiptRes), START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}MeteringStatusReq), START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}MeteringStatusRes), START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}PaymentDetailsReq), START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}PaymentDetailsRes), START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}PowerDeliveryReq), START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}PowerDeliveryRes), START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}PowerDiscoveryReq), START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}PowerDiscoveryRes), START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}ServiceDiscoveryReq), START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}ServiceDiscoveryRes), START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}ServicePaymentSelectionReq), START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}ServicePaymentSelectionRes), START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}SessionSetupReq), START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}SessionSetupRes), END_ELEMENT] */
|
|
|
+ encodeNBitUnsignedInteger(stream, 5, 19);
|
|
|
+ break;
|
|
|
+ case 58:
|
|
|
+ /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}TMeter), END_ELEMENT] */
|
|
|
+ case 76:
|
|
|
+ /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}MeterInfo), END_ELEMENT] */
|
|
|
+ case 83:
|
|
|
+ /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}Tariff), END_ELEMENT] */
|
|
|
+ case 101:
|
|
|
+ /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}TariffTable), END_ELEMENT] */
|
|
|
+ case 112:
|
|
|
+ /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}Tariff), END_ELEMENT] */
|
|
|
+ case 111:
|
|
|
+ /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}Tariff), END_ELEMENT] */
|
|
|
+ case 110:
|
|
|
+ /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}Tariff), END_ELEMENT] */
|
|
|
+ case 109:
|
|
|
+ /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}Tariff), END_ELEMENT] */
|
|
|
+ case 107:
|
|
|
+ /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}Tariff), END_ELEMENT] */
|
|
|
+ case 126:
|
|
|
+ /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}TariffEntry), END_ELEMENT] */
|
|
|
+ case 125:
|
|
|
+ /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}TariffEntry), END_ELEMENT] */
|
|
|
+ case 124:
|
|
|
+ /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}TariffEntry), END_ELEMENT] */
|
|
|
+ case 123:
|
|
|
+ /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}TariffEntry), END_ELEMENT] */
|
|
|
+ case 122:
|
|
|
+ /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}TariffEntry), END_ELEMENT] */
|
|
|
+ case 121:
|
|
|
+ /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}TariffEntry), END_ELEMENT] */
|
|
|
+ case 119:
|
|
|
+ /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}TariffEntry), END_ELEMENT] */
|
|
|
+ case 130:
|
|
|
+ /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}EPrice), END_ELEMENT] */
|
|
|
+ case 132:
|
|
|
+ /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}ServiceScope), END_ELEMENT] */
|
|
|
+ case 136:
|
|
|
+ /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}ServiceList), END_ELEMENT] */
|
|
|
+ case 147:
|
|
|
+ /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}Service), END_ELEMENT] */
|
|
|
+ case 146:
|
|
|
+ /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}Service), END_ELEMENT] */
|
|
|
+ case 145:
|
|
|
+ /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}Service), END_ELEMENT] */
|
|
|
+ case 144:
|
|
|
+ /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}Service), END_ELEMENT] */
|
|
|
+ case 143:
|
|
|
+ /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}Service), END_ELEMENT] */
|
|
|
+ case 142:
|
|
|
+ /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}Service), END_ELEMENT] */
|
|
|
+ case 140:
|
|
|
+ /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}Service), END_ELEMENT] */
|
|
|
+ case 153:
|
|
|
+ /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}ServiceScope), END_ELEMENT] */
|
|
|
+ case 169:
|
|
|
+ /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgHeader}Notification), END_ELEMENT] */
|
|
|
+ case 175:
|
|
|
+ /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}ProtocolVersion), END_ELEMENT] */
|
|
|
+ case 180:
|
|
|
+ /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}EventList), END_ELEMENT] */
|
|
|
+ encodeNBitUnsignedInteger(stream, 1, 1);
|
|
|
+ break;
|
|
|
+ case 56:
|
|
|
+ /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}MeterStatus), START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}TMeter), END_ELEMENT] */
|
|
|
+ case 75:
|
|
|
+ /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}PCurrent), START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}MeterInfo), END_ELEMENT] */
|
|
|
+ case 100:
|
|
|
+ /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}EnergyProvider), START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}TariffTable), END_ELEMENT] */
|
|
|
+ case 17:
|
|
|
+ /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}ServiceType), START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}ServiceScope), END_ELEMENT] */
|
|
|
+ case 151:
|
|
|
+ /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}ServiceType), START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}ServiceScope), END_ELEMENT] */
|
|
|
+ case 173:
|
|
|
+ /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}ServiceSessionID), START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}ProtocolVersion), END_ELEMENT] */
|
|
|
+ case 178:
|
|
|
+ /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}FaultMsg), START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}EventList), END_ELEMENT] */
|
|
|
+ encodeNBitUnsignedInteger(stream, 2, 2);
|
|
|
+ break;
|
|
|
+
|
|
|
+ default:
|
|
|
+ return -1;
|
|
|
+ }
|
|
|
+
|
|
|
+ /* pop item */
|
|
|
+ return exiPopStack(state);
|
|
|
+}
|
|
|
+
|
|
|
+int exiEncodeCharacters(bitstream_t* stream, exi_state_t* state,
|
|
|
+ exi_value_t* val) {
|
|
|
+ uint32_t bits;
|
|
|
+ switch (state->grammarStack[state->stackIndex]) {
|
|
|
+ case 33:
|
|
|
+ case 81:
|
|
|
+ case 133:
|
|
|
+ case 157:
|
|
|
+ case 179:
|
|
|
+ /* CHARACTERS[ENUMERATION] */
|
|
|
+ if (val->type == ENUMERATION) {
|
|
|
+ encodeNBitUnsignedInteger(stream, 2, val->enumeration);
|
|
|
+ /* move on */
|
|
|
+ state->grammarStack[state->stackIndex] = 31;
|
|
|
+ return 0;
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 72:
|
|
|
+ case 150:
|
|
|
+ case 174:
|
|
|
+ /* CHARACTERS[BINARY_HEX] */
|
|
|
+ if (val->type == BINARY_HEX) {
|
|
|
+ encodeBinary(stream, &val->binary);
|
|
|
+ /* move on */
|
|
|
+ state->grammarStack[state->stackIndex] = 31;
|
|
|
+ return 0;
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 66:
|
|
|
+ /* CHARACTERS[INTEGER_32] */
|
|
|
+ /* xsi:type OR xsi:nil */
|
|
|
+ encodeNBitUnsignedInteger(stream, 1, 0);
|
|
|
+ if (val->type == INTEGER_32) {
|
|
|
+ encodeInteger32(stream, val->int32);
|
|
|
+ /* move on */
|
|
|
+ state->grammarStack[state->stackIndex] = 31;
|
|
|
+ return 0;
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 181:
|
|
|
+ /* CHARACTERS[STRING] */
|
|
|
+ /* xsi:type OR xsi:nil */
|
|
|
+ encodeNBitUnsignedInteger(stream, 1, 0);
|
|
|
+ if (val->type == STRING) {
|
|
|
+ encodeStringValue(stream, &val->string);
|
|
|
+ /* move on */
|
|
|
+ state->grammarStack[state->stackIndex] = 31;
|
|
|
+ return 0;
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 27:
|
|
|
+ case 30:
|
|
|
+ case 37:
|
|
|
+ case 41:
|
|
|
+ case 43:
|
|
|
+ /* CHARACTERS[BOOLEAN] */
|
|
|
+ if (val->type == BOOLEAN) {
|
|
|
+ encodeBoolean(stream, val->boolean);
|
|
|
+ /* move on */
|
|
|
+ state->grammarStack[state->stackIndex] = 31;
|
|
|
+ return 0;
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 59:
|
|
|
+ case 92:
|
|
|
+ /* CHARACTERS[INTEGER_16] */
|
|
|
+ if (val->type == INTEGER_16) {
|
|
|
+ encodeInteger32(stream, val->int32);
|
|
|
+ /* move on */
|
|
|
+ state->grammarStack[state->stackIndex] = 31;
|
|
|
+ return 0;
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 129:
|
|
|
+ /* CHARACTERS[UNSIGNED_INTEGER_32] */
|
|
|
+ if (val->type == UNSIGNED_INTEGER_32) {
|
|
|
+ encodeUnsignedInteger32(stream, val->uint32);
|
|
|
+ /* move on */
|
|
|
+ state->grammarStack[state->stackIndex] = 31;
|
|
|
+ return 0;
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 47:
|
|
|
+ case 55:
|
|
|
+ case 79:
|
|
|
+ case 102:
|
|
|
+ case 106:
|
|
|
+ case 116:
|
|
|
+ case 135:
|
|
|
+ case 152:
|
|
|
+ case 177:
|
|
|
+ /* CHARACTERS[STRING] */
|
|
|
+ if (val->type == STRING) {
|
|
|
+ encodeStringValue(stream, &val->string);
|
|
|
+ /* move on */
|
|
|
+ state->grammarStack[state->stackIndex] = 31;
|
|
|
+ return 0;
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 62:
|
|
|
+ /* CHARACTERS[ENUMERATION] */
|
|
|
+ if (val->type == ENUMERATION) {
|
|
|
+ encodeNBitUnsignedInteger(stream, 4, val->enumeration);
|
|
|
+ /* move on */
|
|
|
+ state->grammarStack[state->stackIndex] = 31;
|
|
|
+ return 0;
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 51:
|
|
|
+ case 86:
|
|
|
+ case 137:
|
|
|
+ case 161:
|
|
|
+ case 185:
|
|
|
+ /* CHARACTERS[ENUMERATION] */
|
|
|
+ if (val->type == ENUMERATION) {
|
|
|
+ encodeNBitUnsignedInteger(stream, 3, val->enumeration);
|
|
|
+ /* move on */
|
|
|
+ state->grammarStack[state->stackIndex] = 31;
|
|
|
+ return 0;
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 45:
|
|
|
+ /* CHARACTERS[INTEGER_32] */
|
|
|
+ if (val->type == INTEGER_32) {
|
|
|
+ encodeInteger32(stream, val->int32);
|
|
|
+ /* move on */
|
|
|
+ state->grammarStack[state->stackIndex] = 31;
|
|
|
+ return 0;
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 64:
|
|
|
+ /* CHARACTERS[ENUMERATION] */
|
|
|
+ if (val->type == ENUMERATION) {
|
|
|
+ encodeNBitUnsignedInteger(stream, 5, val->enumeration);
|
|
|
+ /* move on */
|
|
|
+ state->grammarStack[state->stackIndex] = 31;
|
|
|
+ return 0;
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 68:
|
|
|
+ case 70:
|
|
|
+ case 96:
|
|
|
+ /* CHARACTERS[ENUMERATION] */
|
|
|
+ if (val->type == ENUMERATION) {
|
|
|
+ encodeNBitUnsignedInteger(stream, 1, val->enumeration);
|
|
|
+ /* move on */
|
|
|
+ state->grammarStack[state->stackIndex] = 31;
|
|
|
+ return 0;
|
|
|
+ }
|
|
|
+ break;
|
|
|
+
|
|
|
+ default:
|
|
|
+ return -1;
|
|
|
+ }
|
|
|
+
|
|
|
+ return -1;
|
|
|
+}
|
|
|
+
|
|
|
+int exiEncodeAttribute(bitstream_t* stream, exi_state_t* state,
|
|
|
+ eqname_t* at, exi_value_t* val) {
|
|
|
+ switch (state->grammarStack[state->stackIndex]) {
|
|
|
+
|
|
|
+ default:
|
|
|
+ return -1;
|
|
|
+ }
|
|
|
+
|
|
|
+ return -1;
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
+#endif
|
|
|
+
|