NOTE: Code generated by EXIdizer v0.1
@@ -56,20 +56,22 @@ int exiDecodeNextEvent(bitstream_t* stream, exi_state_t* state, /* DocEnd[END_DOCUMENT] */ *nextEvent = END_DOCUMENT; return 0; - case 88: - /* 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 145: - /* 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 157: - /* 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 23: - /* 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 198: - /* 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 225: - /* 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 230: - /* 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] */ + case 56: + /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}MeterStatus), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}TMeter), END_ELEMENT] */ + case 75: + /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PCurrent), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}MeterInfo), END_ELEMENT] */ + case 83: + /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}Tariff), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ChargingProfile), END_ELEMENT] */ + case 104: + /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EnergyProvider), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}TariffTable), END_ELEMENT] */ + case 17: + /* FirstStartTagStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceType), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceScope), END_ELEMENT] */ + case 136: + /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceType), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceScope), END_ELEMENT] */ + case 161: + /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceSessionID), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ProtocolVersion), END_ELEMENT] */ + case 166: + /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}FaultMsg), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EventList), END_ELEMENT] */ decodeNBitUnsignedInteger(stream, 2, &state->eventCode); if (state->eventCode == 0) { *nextEvent = START_ELEMENT; @@ -83,8 +85,8 @@ int exiDecodeNextEvent(bitstream_t* stream, exi_state_t* state, *nextEvent = END_ELEMENT; return 0; } - case 220: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDef}BodyElement), START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}CableCheckReq), START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}CableCheckRes), START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}ChargeParameterDiscoveryReq), START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}ChargeParameterDiscoveryRes), START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}CurrentDemandReq), START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}CurrentDemandRes), 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}PreChargeReq), START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}PreChargeRes), 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:MsgBody}TerminateChargingReq), START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}TerminateChargingRes), START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}WeldingDetectionReq), START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}WeldingDetectionRes), END_ELEMENT] */ + case 156: + /* FirstStartTagStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDef}BodyElement), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}LineLockReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}LineLockRes), 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}MeteringStatusReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}MeteringStatusRes), 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}PowerDiscoveryReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PowerDiscoveryRes), 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), END_ELEMENT] */ decodeNBitUnsignedInteger(stream, 5, &state->eventCode); if (state->eventCode == 0) { *nextEvent = START_ELEMENT; @@ -163,55 +165,15 @@ int exiDecodeNextEvent(bitstream_t* stream, exi_state_t* state, return 0; } else if (state->eventCode == 19) { - *nextEvent = START_ELEMENT; - return 0; - } - else if (state->eventCode == 20) { - *nextEvent = START_ELEMENT; - return 0; - } - else if (state->eventCode == 21) { - *nextEvent = START_ELEMENT; - return 0; - } - else if (state->eventCode == 22) { - *nextEvent = START_ELEMENT; - return 0; - } - else if (state->eventCode == 23) { - *nextEvent = START_ELEMENT; - return 0; - } - else if (state->eventCode == 24) { - *nextEvent = START_ELEMENT; - return 0; - } - else if (state->eventCode == 25) { - *nextEvent = START_ELEMENT; - return 0; - } - else if (state->eventCode == 26) { - *nextEvent = START_ELEMENT; - return 0; - } - else if (state->eventCode == 27) { - *nextEvent = START_ELEMENT; - return 0; - } - else if (state->eventCode == 28) { - *nextEvent = START_ELEMENT; - return 0; - } - else if (state->eventCode == 29) { *nextEvent = END_ELEMENT; return 0; } - case 143: - /* 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 196: - /* 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 224: - /* 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] */ + case 54: + /* Element[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:MsgDataTypes}TMeter), END_ELEMENT] */ + case 134: + /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceName), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceType), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceScope), END_ELEMENT] */ + case 160: + /* FirstStartTagStartTag[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}EventList), END_ELEMENT] */ decodeNBitUnsignedInteger(stream, 2, &state->eventCode); if (state->eventCode == 0) { *nextEvent = START_ELEMENT; @@ -229,14 +191,14 @@ int exiDecodeNextEvent(bitstream_t* stream, exi_state_t* state, *nextEvent = END_ELEMENT; return 0; } - case 102: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}TariffDescription), START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}TariffEntries)] */ - case 13: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}PEVID), START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}PEVStatus)] */ - case 138: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}TCurrent), START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}Tariff)] */ - case 27: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}PEVID), START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}PEVStatus)] */ + case 7: + /* FirstStartTagStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PEVID), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PEVStatus)] */ + case 48: + /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}TCurrent), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}Tariff)] */ + case 113: + /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}TariffDescription), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}TariffEntries)] */ + case 21: + /* FirstStartTagStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PEVID), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PEVStatus)] */ decodeNBitUnsignedInteger(stream, 1, &state->eventCode); if (state->eventCode == 0) { *nextEvent = START_ELEMENT; @@ -247,401 +209,291 @@ int exiDecodeNextEvent(bitstream_t* stream, exi_state_t* state, return 0; } case 5: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}PEVStatus)] */ - case 35: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}ConnectorLocked)] */ - case 36: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}ChargerStandby)] */ - case 38: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}ReadyToCharge)] */ - case 6: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}ResponseCode)] */ - case 43: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}EVSEStatus)] */ - case 46: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}FatalError)] */ - case 47: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}EVSEStandby)] */ - case 49: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}ConnectorLocked)] */ - case 50: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}PowerSwitchClosed)] */ - case 51: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}RCD)] */ - case 53: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}ShutDownTime)] */ - case 55: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}ChargerStandby)] */ - case 57: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}EVSEMalfunction)] */ - case 58: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}StopCharging)] */ - case 7: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}PEVStatus)] */ - case 62: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}ChargingMode)] */ - case 63: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}EoC)] */ - case 65: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}EAmount)] */ - case 66: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}PEVMaxPower)] */ - case 68: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}PEVMaxPhases)] */ - case 69: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}PEVMaxVoltage)] */ - case 71: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}PEVMinVoltage)] */ - case 72: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}PEVMaxCurrent)] */ - case 73: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}PEVMinCurrent)] */ - case 67: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}Multiplier)] */ - case 75: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}Unit)] */ - case 77: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}Value)] */ - case 8: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}ResponseCode)] */ - case 81: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}EVSEStatus)] */ - case 83: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}EVSEMaxVoltage)] */ - case 84: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}EVSEMinVoltage)] */ - case 85: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}EVSEMaxCurrent)] */ - case 86: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}EVSEMinCurrent)] */ - case 87: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}EVSEMaxPhases)] */ - case 92: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}Currency)] */ - case 93: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}Tariff)] */ - case 96: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}TariffID)] */ - case 104: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}TariffEntries)] */ - case 107: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}TariffEntry)] */ - case 109: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}TariffStart)] */ - case 117: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}TariffPMax)] */ - case 9: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}PEVStatus)] */ - case 121: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}PEVTargetVoltage)] */ - case 122: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}PEVDemandCurrent)] */ - case 123: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}CurrentDifferential)] */ - case 124: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}VoltageDifferential)] */ - case 10: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}ResponseCode)] */ - case 126: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}EVSEStatus)] */ - case 128: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}EVSEPresentVoltage)] */ - case 129: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}EVSEPresentCurrent)] */ - case 11: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}PEVStatus)] */ - case 131: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}ReqLockStatus)] */ - case 12: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}ResponseCode)] */ - case 133: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}EVSEStatus)] */ - case 136: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}PEVStatus)] */ - case 139: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}Tariff)] */ - case 140: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}MeterInfo)] */ - case 14: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}ResponseCode)] */ - case 16: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}ResponseCode)] */ - case 151: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}EVSEID)] */ - case 153: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}EVSEStatus)] */ - case 155: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}TCurrent)] */ - case 156: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}EVSEMaxPower)] */ - case 17: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}ContractID)] */ - case 18: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}ResponseCode)] */ - case 162: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}TCurrent)] */ - case 19: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}PEVStatus)] */ - case 165: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}ReqSwitchStatus)] */ - case 20: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}ResponseCode)] */ - case 168: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}EVSEStatus)] */ - case 21: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}PEVStatus)] */ - case 171: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}PEVTargetVoltage)] */ - case 172: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}PEVDemandCurrent)] */ - case 173: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}VoltageDifferential)] */ - case 22: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}ResponseCode)] */ - case 175: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}EVSEStatus)] */ - case 177: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}EVSEPresentVoltage)] */ + /* FirstStartTagStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PEVStatus)] */ case 24: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}ResponseCode)] */ - case 186: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}Service)] */ - case 188: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}ServiceID)] */ + /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ReqLockStatus)] */ case 25: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}ServiceList)] */ - case 26: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}ResponseCode)] */ - case 205: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}PEVStatus)] */ + /* FirstStartTagStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ConnectorLocked)] */ case 28: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}ResponseCode)] */ - case 207: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}EVSEID)] */ - case 209: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}EVSEStatus)] */ - case 210: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}TCurrent)] */ - case 29: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}PEVStatus)] */ - case 30: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}ResponseCode)] */ - case 213: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}EVSEStatus)] */ - case 215: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}EVSEPresentVoltage)] */ - case 31: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDef}Header)] */ - case 217: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDef}Body)] */ - case 218: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgHeader}SessionInformation)] */ - case 222: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}SessionID)] */ - case 235: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}Event)] */ + /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ChargerStandby)] */ + case 6: + /* FirstStartTagStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode)] */ case 32: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}PEVStatus)] */ - case 33: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}ResponseCode)] */ - case 240: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}EVSEStatus)] */ - case 242: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}EVSEPresentVoltage)] */ + /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEStatus)] */ + case 35: + /* FirstStartTagStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}FatalError)] */ + case 36: + /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEStandby)] */ + case 38: + /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ConnectorLocked)] */ + case 39: + /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}PowerSwitchClosed)] */ + case 40: + /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}RCD)] */ + case 42: + /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ShutDownTime)] */ + case 46: + /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PEVStatus)] */ + case 49: + /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}Tariff)] */ + case 50: + /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}MeterInfo)] */ + case 57: + /* FirstStartTagStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Multiplier)] */ + case 61: + /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Unit)] */ + case 63: + /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Value)] */ + case 8: + /* FirstStartTagStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode)] */ + case 10: + /* FirstStartTagStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode)] */ + case 69: + /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEID)] */ + case 71: + /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEStatus)] */ + case 73: + /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}TCurrent)] */ + case 74: + /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEMaxPower)] */ + case 11: + /* FirstStartTagStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ContractID)] */ + case 12: + /* FirstStartTagStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode)] */ + case 13: + /* FirstStartTagStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PEVStatus)] */ + case 82: + /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ReqSwitchStatus)] */ + case 86: + /* FirstStartTagStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ChargingProfileEntryStart)] */ + case 87: + /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ChargingProfileEntryMaxPower)] */ + case 14: + /* FirstStartTagStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode)] */ + case 15: + /* FirstStartTagStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PEVStatus)] */ + case 91: + /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EoC)] */ + case 92: + /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EAmount)] */ + case 93: + /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PEVMaxPower)] */ + case 94: + /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PEVMaxPhases)] */ + case 95: + /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PEVMaxVoltage)] */ + case 97: + /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PEVMinVoltage)] */ + case 16: + /* FirstStartTagStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode)] */ + case 99: + /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEStatus)] */ + case 101: + /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEVoltage)] */ + case 102: + /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEIMax)] */ + case 103: + /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEMaxPhases)] */ + case 108: + /* FirstStartTagStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Currency)] */ + case 109: + /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Tariff)] */ + case 112: + /* FirstStartTagStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}TariffID)] */ + case 114: + /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}TariffEntries)] */ + case 117: + /* FirstStartTagStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}TariffEntry)] */ + case 119: + /* FirstStartTagStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}TariffStart)] */ + case 120: + /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}TariffPMax)] */ + case 18: + /* FirstStartTagStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode)] */ + case 131: + /* FirstStartTagStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Service)] */ + case 133: + /* FirstStartTagStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceID)] */ + case 19: + /* FirstStartTagStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceList)] */ + case 140: + /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PEVPubKey)] */ + case 20: + /* FirstStartTagStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode)] */ + case 146: + /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PEVStatus)] */ + case 22: + /* FirstStartTagStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode)] */ + case 148: + /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEID)] */ + case 150: + /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEStatus)] */ + case 151: + /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}TCurrent)] */ + case 23: + /* FirstStartTagStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDef}Header)] */ + case 153: + /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDef}Body)] */ + case 154: + /* FirstStartTagStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDef}SessionInformation)] */ + case 158: + /* FirstStartTagStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SessionID)] */ + case 171: + /* FirstStartTagStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Event)] */ *nextEvent = START_ELEMENT; return 0; case 3: - /* First(xsi:type)StartTag[END_ELEMENT] */ + /* FirstStartTag(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 40: + case 44: /* Element[END_ELEMENT] */ - case 42: - /* Element[END_ELEMENT] */ - case 45: + case 52: /* Element[END_ELEMENT] */ case 60: /* Element[END_ELEMENT] */ - case 74: + case 65: /* Element[END_ELEMENT] */ - case 79: + case 67: /* Element[END_ELEMENT] */ - case 91: + case 9: + /* FirstStartTagStartTag[END_ELEMENT] */ + case 77: /* Element[END_ELEMENT] */ - case 101: + case 78: /* Element[END_ELEMENT] */ - case 106: + case 80: + /* Element[END_ELEMENT] */ + case 85: + /* Element[END_ELEMENT] */ + case 88: + /* Element[END_ELEMENT] */ + case 89: + /* Element[END_ELEMENT] */ + case 98: + /* Element[END_ELEMENT] */ + case 107: /* Element[END_ELEMENT] */ case 116: /* Element[END_ELEMENT] */ - case 120: + case 123: /* Element[END_ELEMENT] */ - case 125: + case 126: /* Element[END_ELEMENT] */ case 130: /* Element[END_ELEMENT] */ - case 132: - /* Element[END_ELEMENT] */ - case 135: + case 139: /* Element[END_ELEMENT] */ case 141: /* Element[END_ELEMENT] */ - case 148: + case 145: /* Element[END_ELEMENT] */ - case 149: + case 147: + /* Element[END_ELEMENT] */ + case 152: + /* Element[END_ELEMENT] */ + case 155: /* Element[END_ELEMENT] */ - case 15: - /* FirstStartTag[END_ELEMENT] */ case 159: /* Element[END_ELEMENT] */ - case 160: - /* Element[END_ELEMENT] */ case 164: /* Element[END_ELEMENT] */ - case 167: - /* Element[END_ELEMENT] */ case 170: /* Element[END_ELEMENT] */ + case 172: + /* Element[END_ELEMENT] */ case 174: /* Element[END_ELEMENT] */ - case 178: - /* Element[END_ELEMENT] */ - case 181: - /* Element[END_ELEMENT] */ - case 185: - /* Element[END_ELEMENT] */ - case 195: - /* Element[END_ELEMENT] */ - case 201: - /* Element[END_ELEMENT] */ - case 202: - /* Element[END_ELEMENT] */ - case 203: - /* Element[END_ELEMENT] */ - case 206: - /* Element[END_ELEMENT] */ - case 211: - /* Element[END_ELEMENT] */ - case 212: - /* Element[END_ELEMENT] */ - case 216: - /* Element[END_ELEMENT] */ - case 219: - /* Element[END_ELEMENT] */ - case 223: - /* Element[END_ELEMENT] */ - case 228: - /* Element[END_ELEMENT] */ - case 234: - /* Element[END_ELEMENT] */ - case 236: - /* Element[END_ELEMENT] */ - case 238: - /* Element[END_ELEMENT] */ - case 239: - /* Element[END_ELEMENT] */ - case 243: - /* Element[END_ELEMENT] */ *nextEvent = END_ELEMENT; return 0; + case 27: + /* FirstStartTagStartTag[CHARACTERS[BOOLEAN]] */ + case 30: + /* FirstStartTagStartTag[CHARACTERS[BOOLEAN]] */ + case 33: + /* FirstStartTagStartTag[CHARACTERS[ENUMERATION]] */ case 37: - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - case 39: - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ + /* FirstStartTagStartTag[CHARACTERS[BOOLEAN]] */ case 41: - /* First(xsi:type)StartTag[CHARACTERS[BOOLEAN]] */ - case 44: - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - case 48: - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - case 52: - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - case 54: - /* FirstStartTag[CHARACTERS[BOOLEAN]] */ - case 56: - /* FirstStartTag[CHARACTERS[INTEGER_32]] */ - case 59: - /* First(xsi:type)StartTag[CHARACTERS[BOOLEAN]] */ - case 61: - /* First(xsi:type)StartTag[CHARACTERS[BOOLEAN]] */ + /* FirstStartTagStartTag[CHARACTERS[BOOLEAN]] */ + case 43: + /* FirstStartTagStartTag[CHARACTERS[BOOLEAN]] */ + case 45: + /* FirstStartTagStartTag[CHARACTERS[INTEGER_32]] */ + case 47: + /* FirstStartTagStartTag[CHARACTERS[STRING]] */ + case 51: + /* FirstStartTagStartTag[CHARACTERS[ENUMERATION]] */ + case 55: + /* FirstStartTagStartTag[CHARACTERS[STRING]] */ + case 62: + /* FirstStartTagStartTag[CHARACTERS[ENUMERATION]] */ case 64: - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - case 76: - /* FirstStartTag[CHARACTERS[INTEGER_16]] */ - case 78: - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - case 80: - /* First(xsi:type)StartTag[CHARACTERS[INTEGER_32]] */ + /* FirstStartTagStartTag[CHARACTERS[ENUMERATION]] */ + case 66: + /* FirstStartTag(xsi:type)StartTag[CHARACTERS[INTEGER_32]] */ + case 59: + /* FirstStartTagStartTag[CHARACTERS[INTEGER_16]] */ + case 68: + /* FirstStartTagStartTag[CHARACTERS[ENUMERATION]] */ case 70: - /* FirstStartTag[CHARACTERS[INTEGER_16]] */ - case 82: - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ + /* FirstStartTagStartTag[CHARACTERS[ENUMERATION]] */ + case 72: + /* FirstStartTagStartTag[CHARACTERS[BINARY_HEX]] */ + case 79: + /* FirstStartTagStartTag[CHARACTERS[STRING]] */ + case 81: + /* FirstStartTagStartTag[CHARACTERS[ENUMERATION]] */ case 90: - /* FirstStartTag[CHARACTERS[STRING]] */ - case 94: - /* FirstStartTag[CHARACTERS[STRING]] */ - case 103: - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - case 105: - /* FirstStartTag[CHARACTERS[STRING]] */ - case 118: - /* FirstStartTag[CHARACTERS[UNSIGNED_INTEGER_32]] */ + /* FirstStartTagStartTag[CHARACTERS[ENUMERATION]] */ + case 96: + /* FirstStartTagStartTag[CHARACTERS[INTEGER_16]] */ + case 100: + /* FirstStartTagStartTag[CHARACTERS[ENUMERATION]] */ + case 106: + /* FirstStartTagStartTag[CHARACTERS[STRING]] */ + case 110: + /* FirstStartTagStartTag[CHARACTERS[STRING]] */ + case 115: + /* FirstStartTagStartTag[CHARACTERS[STRING]] */ + case 121: + /* FirstStartTagStartTag[CHARACTERS[UNSIGNED_INTEGER_32]] */ + case 125: + /* FirstStartTagStartTag[CHARACTERS[ENUMERATION]] */ case 127: - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - case 134: - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ + /* FirstStartTagStartTag[CHARACTERS[STRING]] */ + case 129: + /* FirstStartTagStartTag[CHARACTERS[ENUMERATION]] */ + case 135: + /* FirstStartTagStartTag[CHARACTERS[BINARY_HEX]] */ case 137: - /* FirstStartTag[CHARACTERS[STRING]] */ + /* FirstStartTagStartTag[CHARACTERS[STRING]] */ + case 142: + /* FirstStartTagStartTag[CHARACTERS[BINARY_HEX]] */ case 144: - /* FirstStartTag[CHARACTERS[STRING]] */ - case 147: - /* FirstStartTag[CHARACTERS[INTEGER_16]] */ - case 150: - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - case 152: - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - case 154: - /* FirstStartTag[CHARACTERS[BINARY_HEX]] */ - case 161: - /* FirstStartTag[CHARACTERS[STRING]] */ - case 163: - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ + /* FirstStartTagStartTag[CHARACTERS[ENUMERATION]] */ + case 149: + /* FirstStartTagStartTag[CHARACTERS[ENUMERATION]] */ + case 162: + /* FirstStartTagStartTag[CHARACTERS[BINARY_HEX]] */ + case 165: + /* FirstStartTagStartTag[CHARACTERS[STRING]] */ + case 167: + /* FirstStartTagStartTag[CHARACTERS[ENUMERATION]] */ case 169: - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - case 176: - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - case 180: - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - case 182: - /* FirstStartTag[CHARACTERS[STRING]] */ - case 184: - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - case 197: - /* FirstStartTag[CHARACTERS[BINARY_HEX]] */ - case 199: - /* FirstStartTag[CHARACTERS[STRING]] */ - case 204: - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - case 208: - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - case 214: - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - case 226: - /* FirstStartTag[CHARACTERS[BINARY_HEX]] */ - case 229: - /* FirstStartTag[CHARACTERS[STRING]] */ - case 231: - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - case 233: - /* First(xsi:type)StartTag[CHARACTERS[STRING]] */ - case 237: - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ - case 241: - /* FirstStartTag[CHARACTERS[ENUMERATION]] */ + /* FirstStartTag(xsi:type)StartTag[CHARACTERS[STRING]] */ + case 173: + /* FirstStartTagStartTag[CHARACTERS[ENUMERATION]] */ *nextEvent = CHARACTERS; return 0; - case 142: - /* 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] */ + case 53: + /* FirstStartTagStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}MeterID), 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:MsgDataTypes}TMeter), END_ELEMENT] */ decodeNBitUnsignedInteger(stream, 3, &state->eventCode); if (state->eventCode == 0) { *nextEvent = START_ELEMENT; @@ -663,66 +515,36 @@ int exiDecodeNextEvent(bitstream_t* stream, exi_state_t* state, *nextEvent = END_ELEMENT; return 0; } - case 89: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}TariffTable), END_ELEMENT] */ - case 95: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}Tariff), END_ELEMENT] */ - case 97: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}Tariff), END_ELEMENT] */ - case 98: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}Tariff), END_ELEMENT] */ - case 99: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}Tariff), END_ELEMENT] */ - case 100: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}Tariff), END_ELEMENT] */ - case 108: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}TariffEntry), END_ELEMENT] */ - case 110: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}TariffEntry), END_ELEMENT] */ + case 58: + /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}TMeter), END_ELEMENT] */ + case 76: + /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}MeterInfo), END_ELEMENT] */ + case 84: + /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ChargingProfile), END_ELEMENT] */ + case 105: + /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}TariffTable), END_ELEMENT] */ case 111: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}TariffEntry), END_ELEMENT] */ - case 112: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}TariffEntry), END_ELEMENT] */ - case 113: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}TariffEntry), END_ELEMENT] */ - case 114: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}TariffEntry), END_ELEMENT] */ - case 115: - /* 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}EPrice), END_ELEMENT] */ - case 146: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}TMeter), END_ELEMENT] */ - case 158: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}MeterInfo), END_ELEMENT] */ - case 166: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}Tariff), END_ELEMENT] */ - case 179: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}ServiceScope), END_ELEMENT] */ - case 183: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}ServiceList), END_ELEMENT] */ - case 187: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}Service), END_ELEMENT] */ - case 189: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}Service), END_ELEMENT] */ - case 190: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}Service), END_ELEMENT] */ - case 191: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}Service), END_ELEMENT] */ - case 192: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}Service), END_ELEMENT] */ - case 193: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}Service), END_ELEMENT] */ - case 194: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}Service), END_ELEMENT] */ - case 200: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}ServiceScope), END_ELEMENT] */ - case 221: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgHeader}Notification), END_ELEMENT] */ - case 227: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}ProtocolVersion), END_ELEMENT] */ - case 232: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}EventList), END_ELEMENT] */ + /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Tariff), END_ELEMENT] */ + case 118: + /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}TariffEntry), END_ELEMENT] */ + case 122: + /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EPrice), END_ELEMENT] */ + case 124: + /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceScope), END_ELEMENT] */ + case 128: + /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceList), END_ELEMENT] */ + case 132: + /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Service), END_ELEMENT] */ + case 138: + /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceScope), END_ELEMENT] */ + case 143: + /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}MeteringAuthPubKey), END_ELEMENT] */ + case 157: + /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDef}Notification), END_ELEMENT] */ + case 163: + /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ProtocolVersion), END_ELEMENT] */ + case 168: + /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EventList), END_ELEMENT] */ decodeNBitUnsignedInteger(stream, 1, &state->eventCode); if (state->eventCode == 0) { *nextEvent = START_ELEMENT; @@ -733,7 +555,7 @@ int exiDecodeNextEvent(bitstream_t* stream, exi_state_t* state, return 0; } case 1: - /* DocContent[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDef}BodyElement), START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}CableCheckReq), START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}CableCheckRes), START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}ChargeParameterDiscoveryReq), START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}ChargeParameterDiscoveryRes), START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}CurrentDemandReq), START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}CurrentDemandRes), 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}PreChargeReq), START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}PreChargeRes), 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:MsgBody}TerminateChargingReq), START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}TerminateChargingRes), START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDef}V2G_Message), START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}WeldingDetectionReq), START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}WeldingDetectionRes), START_ELEMENT_GENERIC] */ + /* DocContent[START_ELEMENT({urn:iso:15118:2:2010:MsgDef}BodyElement), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}LineLockReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}LineLockRes), 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}MeteringStatusReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}MeteringStatusRes), 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}PowerDiscoveryReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PowerDiscoveryRes), 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:MsgDef}V2G_Message), START_ELEMENT_GENERIC] */ decodeNBitUnsignedInteger(stream, 5, &state->eventCode); if (state->eventCode == 0) { *nextEvent = START_ELEMENT; @@ -816,46 +638,6 @@ int exiDecodeNextEvent(bitstream_t* stream, exi_state_t* state, return 0; } else if (state->eventCode == 20) { - *nextEvent = START_ELEMENT; - return 0; - } - else if (state->eventCode == 21) { - *nextEvent = START_ELEMENT; - return 0; - } - else if (state->eventCode == 22) { - *nextEvent = START_ELEMENT; - return 0; - } - else if (state->eventCode == 23) { - *nextEvent = START_ELEMENT; - return 0; - } - else if (state->eventCode == 24) { - *nextEvent = START_ELEMENT; - return 0; - } - else if (state->eventCode == 25) { - *nextEvent = START_ELEMENT; - return 0; - } - else if (state->eventCode == 26) { - *nextEvent = START_ELEMENT; - return 0; - } - else if (state->eventCode == 27) { - *nextEvent = START_ELEMENT; - return 0; - } - else if (state->eventCode == 28) { - *nextEvent = START_ELEMENT; - return 0; - } - else if (state->eventCode == 29) { - *nextEvent = START_ELEMENT; - return 0; - } - else if (state->eventCode == 30) { *nextEvent = START_ELEMENT_GENERIC; return 0; } @@ -891,7 +673,7 @@ int exiDecodeEndDocument(bitstream_t* stream, exi_state_t* state) { } static int _exiDecodeStartElement(exi_state_t* state, eqname_t* se, - uint16_t ns, uint16_t ln, uint16_t stackId, uint16_t newState) { + unsigned int ns, unsigned int ln, size_t stackId, size_t newState) { se->namespaceURI = ns; se->localPart = ln; /* move on */ @@ -900,926 +682,644 @@ static int _exiDecodeStartElement(exi_state_t* state, eqname_t* se, return exiPushStack(state, newState, se); } - int exiDecodeStartElement(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}CableCheckReq), START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}CableCheckRes), START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}ChargeParameterDiscoveryReq), START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}ChargeParameterDiscoveryRes), START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}CurrentDemandReq), START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}CurrentDemandRes), 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}PreChargeReq), START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}PreChargeRes), 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:MsgBody}TerminateChargingReq), START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}TerminateChargingRes), START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDef}V2G_Message), START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}WeldingDetectionReq), START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}WeldingDetectionRes), START_ELEMENT_GENERIC] */ + /* DocContent[START_ELEMENT({urn:iso:15118:2:2010:MsgDef}BodyElement), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}LineLockReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}LineLockRes), 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}MeteringStatusReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}MeteringStatusRes), 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}PowerDiscoveryReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PowerDiscoveryRes), 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:MsgDef}V2G_Message), START_ELEMENT_GENERIC] */ if (state->eventCode == 0) { return _exiDecodeStartElement(state, se, 6, 2, 2, 3); } else if (state->eventCode == 1) { - return _exiDecodeStartElement(state, se, 4, 0, 2, 5); + return _exiDecodeStartElement(state, se, 4, 11, 2, 5); } else if (state->eventCode == 2) { - return _exiDecodeStartElement(state, se, 4, 2, 2, 6); + return _exiDecodeStartElement(state, se, 4, 13, 2, 6); } else if (state->eventCode == 3) { - return _exiDecodeStartElement(state, se, 4, 4, 2, 7); + return _exiDecodeStartElement(state, se, 4, 17, 2, 7); } else if (state->eventCode == 4) { - return _exiDecodeStartElement(state, se, 4, 6, 2, 8); + return _exiDecodeStartElement(state, se, 4, 19, 2, 8); } else if (state->eventCode == 5) { - return _exiDecodeStartElement(state, se, 4, 10, 2, 9); + return _exiDecodeStartElement(state, se, 4, 21, 2, 9); } else if (state->eventCode == 6) { - return _exiDecodeStartElement(state, se, 4, 12, 2, 10); + return _exiDecodeStartElement(state, se, 4, 23, 2, 10); } else if (state->eventCode == 7) { - return _exiDecodeStartElement(state, se, 4, 28, 2, 11); + return _exiDecodeStartElement(state, se, 4, 33, 2, 11); } else if (state->eventCode == 8) { - return _exiDecodeStartElement(state, se, 4, 30, 2, 12); + return _exiDecodeStartElement(state, se, 4, 35, 2, 12); } else if (state->eventCode == 9) { - return _exiDecodeStartElement(state, se, 4, 33, 2, 13); + return _exiDecodeStartElement(state, se, 4, 37, 2, 13); } else if (state->eventCode == 10) { - return _exiDecodeStartElement(state, se, 4, 35, 2, 14); + return _exiDecodeStartElement(state, se, 4, 39, 2, 14); } else if (state->eventCode == 11) { - return _exiDecodeStartElement(state, se, 4, 37, 2, 15); + return _exiDecodeStartElement(state, se, 4, 41, 2, 15); } else if (state->eventCode == 12) { - return _exiDecodeStartElement(state, se, 4, 39, 2, 16); + return _exiDecodeStartElement(state, se, 4, 43, 2, 16); } else if (state->eventCode == 13) { - return _exiDecodeStartElement(state, se, 4, 52, 2, 17); + return _exiDecodeStartElement(state, se, 4, 48, 2, 17); } else if (state->eventCode == 14) { - return _exiDecodeStartElement(state, se, 4, 54, 2, 18); + return _exiDecodeStartElement(state, se, 4, 50, 2, 18); } else if (state->eventCode == 15) { - return _exiDecodeStartElement(state, se, 4, 56, 2, 19); + return _exiDecodeStartElement(state, se, 4, 53, 2, 19); } else if (state->eventCode == 16) { - return _exiDecodeStartElement(state, se, 4, 58, 2, 20); + return _exiDecodeStartElement(state, se, 4, 55, 2, 20); } else if (state->eventCode == 17) { - return _exiDecodeStartElement(state, se, 4, 60, 2, 21); + return _exiDecodeStartElement(state, se, 4, 59, 2, 21); } else if (state->eventCode == 18) { - return _exiDecodeStartElement(state, se, 4, 62, 2, 22); + return _exiDecodeStartElement(state, se, 4, 61, 2, 22); } else if (state->eventCode == 19) { - return _exiDecodeStartElement(state, se, 4, 67, 2, 23); - } - else if (state->eventCode == 20) { - return _exiDecodeStartElement(state, se, 4, 69, 2, 24); - } - else if (state->eventCode == 21) { - return _exiDecodeStartElement(state, se, 4, 72, 2, 25); - } - else if (state->eventCode == 22) { - return _exiDecodeStartElement(state, se, 4, 74, 2, 26); - } - else if (state->eventCode == 23) { - return _exiDecodeStartElement(state, se, 4, 78, 2, 27); - } - else if (state->eventCode == 24) { - return _exiDecodeStartElement(state, se, 4, 80, 2, 28); - } - else if (state->eventCode == 25) { - return _exiDecodeStartElement(state, se, 4, 85, 2, 29); - } - else if (state->eventCode == 26) { - return _exiDecodeStartElement(state, se, 4, 87, 2, 30); - } - else if (state->eventCode == 27) { - return _exiDecodeStartElement(state, se, 6, 5, 2, 31); - } - else if (state->eventCode == 28) { - return _exiDecodeStartElement(state, se, 4, 90, 2, 32); - } - else if (state->eventCode == 29) { - return _exiDecodeStartElement(state, se, 4, 92, 2, 33); + return _exiDecodeStartElement(state, se, 6, 8, 2, 23); } break; case 5: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}PEVStatus)] */ - return _exiDecodeStartElement(state, se, 4, 50, 34, 35); + /* FirstStartTagStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PEVStatus)] */ + return _exiDecodeStartElement(state, se, 4, 32, 24, 25); break; case 6: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}ResponseCode)] */ - return _exiDecodeStartElement(state, se, 4, 66, 43, 44); + /* FirstStartTagStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode)] */ + return _exiDecodeStartElement(state, se, 4, 47, 32, 33); break; case 7: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}PEVStatus)] */ - return _exiDecodeStartElement(state, se, 4, 50, 62, 35); + /* FirstStartTagStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PEVID), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PEVStatus)] */ + if (state->eventCode == 0) { + return _exiDecodeStartElement(state, se, 4, 26, 46, 47); + } + else if (state->eventCode == 1) { + return _exiDecodeStartElement(state, se, 4, 32, 48, 25); + } break; case 8: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}ResponseCode)] */ - return _exiDecodeStartElement(state, se, 4, 66, 81, 82); - break; - case 9: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}PEVStatus)] */ - return _exiDecodeStartElement(state, se, 4, 50, 121, 35); + /* FirstStartTagStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode)] */ + return _exiDecodeStartElement(state, se, 4, 47, 67, 68); break; case 10: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}ResponseCode)] */ - return _exiDecodeStartElement(state, se, 4, 66, 126, 127); + /* FirstStartTagStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode)] */ + return _exiDecodeStartElement(state, se, 4, 47, 69, 70); break; case 11: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}PEVStatus)] */ - return _exiDecodeStartElement(state, se, 4, 50, 131, 35); + /* FirstStartTagStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ContractID)] */ + return _exiDecodeStartElement(state, se, 4, 1, 78, 79); break; case 12: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}ResponseCode)] */ - return _exiDecodeStartElement(state, se, 4, 66, 133, 134); + /* FirstStartTagStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode)] */ + return _exiDecodeStartElement(state, se, 4, 47, 80, 81); break; case 13: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}PEVID), START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}PEVStatus)] */ - if (state->eventCode == 0) { - return _exiDecodeStartElement(state, se, 4, 43, 136, 137); - } - else if (state->eventCode == 1) { - return _exiDecodeStartElement(state, se, 4, 50, 138, 35); - } + /* FirstStartTagStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PEVStatus)] */ + return _exiDecodeStartElement(state, se, 4, 32, 82, 25); break; case 14: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}ResponseCode)] */ - return _exiDecodeStartElement(state, se, 4, 66, 149, 150); + /* FirstStartTagStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode)] */ + return _exiDecodeStartElement(state, se, 4, 47, 89, 90); + break; + case 15: + /* FirstStartTagStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PEVStatus)] */ + return _exiDecodeStartElement(state, se, 4, 32, 91, 25); break; case 16: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}ResponseCode)] */ - return _exiDecodeStartElement(state, se, 4, 66, 151, 152); + /* FirstStartTagStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode)] */ + return _exiDecodeStartElement(state, se, 4, 47, 99, 100); break; case 17: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}ContractID)] */ - return _exiDecodeStartElement(state, se, 4, 9, 160, 161); + /* FirstStartTagStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceType), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceScope), END_ELEMENT] */ + if (state->eventCode == 0) { + return _exiDecodeStartElement(state, se, 4, 58, 124, 125); + } + else if (state->eventCode == 1) { + return _exiDecodeStartElement(state, se, 4, 57, 126, 127); + } break; case 18: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}ResponseCode)] */ - return _exiDecodeStartElement(state, se, 4, 66, 162, 163); + /* FirstStartTagStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode)] */ + return _exiDecodeStartElement(state, se, 4, 47, 128, 129); break; case 19: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}PEVStatus)] */ - return _exiDecodeStartElement(state, se, 4, 50, 165, 35); + /* FirstStartTagStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceList)] */ + return _exiDecodeStartElement(state, se, 4, 52, 140, 131); break; case 20: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}ResponseCode)] */ - return _exiDecodeStartElement(state, se, 4, 66, 168, 169); + /* FirstStartTagStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode)] */ + return _exiDecodeStartElement(state, se, 4, 47, 143, 144); break; case 21: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}PEVStatus)] */ - return _exiDecodeStartElement(state, se, 4, 50, 171, 35); + /* FirstStartTagStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PEVID), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PEVStatus)] */ + if (state->eventCode == 0) { + return _exiDecodeStartElement(state, se, 4, 26, 146, 47); + } + else if (state->eventCode == 1) { + return _exiDecodeStartElement(state, se, 4, 32, 147, 25); + } break; case 22: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}ResponseCode)] */ - return _exiDecodeStartElement(state, se, 4, 66, 175, 176); + /* FirstStartTagStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode)] */ + return _exiDecodeStartElement(state, se, 4, 47, 148, 149); break; case 23: - /* 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 (state->eventCode == 0) { - return _exiDecodeStartElement(state, se, 4, 77, 179, 180); - } - else if (state->eventCode == 1) { - return _exiDecodeStartElement(state, se, 4, 76, 181, 182); - } + /* FirstStartTagStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDef}Header)] */ + return _exiDecodeStartElement(state, se, 6, 4, 153, 154); break; case 24: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}ResponseCode)] */ - return _exiDecodeStartElement(state, se, 4, 66, 183, 184); + /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ReqLockStatus)] */ + return _exiDecodeStartElement(state, se, 4, 45, 26, 27); break; case 25: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}ServiceList)] */ - return _exiDecodeStartElement(state, se, 4, 71, 202, 186); - break; - case 26: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}ResponseCode)] */ - return _exiDecodeStartElement(state, se, 4, 66, 203, 204); - break; - case 27: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}PEVID), START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}PEVStatus)] */ - if (state->eventCode == 0) { - return _exiDecodeStartElement(state, se, 4, 43, 205, 137); - } - else if (state->eventCode == 1) { - return _exiDecodeStartElement(state, se, 4, 50, 206, 35); - } + /* FirstStartTagStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ConnectorLocked)] */ + return _exiDecodeStartElement(state, se, 5, 4, 28, 27); break; case 28: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}ResponseCode)] */ - return _exiDecodeStartElement(state, se, 4, 66, 207, 208); - break; - case 29: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}PEVStatus)] */ - return _exiDecodeStartElement(state, se, 4, 50, 212, 35); - break; - case 30: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}ResponseCode)] */ - return _exiDecodeStartElement(state, se, 4, 66, 213, 214); - break; - case 31: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDef}Header)] */ - return _exiDecodeStartElement(state, se, 6, 4, 217, 218); + /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ChargerStandby)] */ + return _exiDecodeStartElement(state, se, 5, 0, 29, 30); break; case 32: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}PEVStatus)] */ - return _exiDecodeStartElement(state, se, 4, 50, 239, 35); - break; - case 33: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}ResponseCode)] */ - return _exiDecodeStartElement(state, se, 4, 66, 240, 241); + /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEStatus)] */ + return _exiDecodeStartElement(state, se, 4, 7, 34, 35); break; case 35: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}ConnectorLocked)] */ - return _exiDecodeStartElement(state, se, 5, 4, 36, 37); + /* FirstStartTagStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}FatalError)] */ + return _exiDecodeStartElement(state, se, 5, 12, 36, 37); break; case 36: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}ChargerStandby)] */ - return _exiDecodeStartElement(state, se, 5, 0, 38, 39); + /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEStandby)] */ + return _exiDecodeStartElement(state, se, 5, 7, 38, 30); break; case 38: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}ReadyToCharge)] */ - return _exiDecodeStartElement(state, se, 5, 27, 40, 41); + /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ConnectorLocked)] */ + return _exiDecodeStartElement(state, se, 5, 4, 39, 27); break; - case 43: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}EVSEStatus)] */ - return _exiDecodeStartElement(state, se, 4, 25, 45, 46); + case 39: + /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}PowerSwitchClosed)] */ + return _exiDecodeStartElement(state, se, 5, 23, 40, 41); + break; + case 40: + /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}RCD)] */ + return _exiDecodeStartElement(state, se, 5, 25, 42, 43); + break; + case 42: + /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ShutDownTime)] */ + return _exiDecodeStartElement(state, se, 5, 36, 44, 45); break; case 46: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}FatalError)] */ - return _exiDecodeStartElement(state, se, 5, 13, 47, 48); + /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PEVStatus)] */ + return _exiDecodeStartElement(state, se, 4, 32, 48, 25); break; - case 47: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}EVSEStandby)] */ - return _exiDecodeStartElement(state, se, 5, 8, 49, 39); + case 48: + /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}TCurrent), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}Tariff)] */ + if (state->eventCode == 0) { + return _exiDecodeStartElement(state, se, 4, 63, 49, 45); + } + else if (state->eventCode == 1) { + return _exiDecodeStartElement(state, se, 4, 64, 50, 51); + } break; case 49: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}ConnectorLocked)] */ - return _exiDecodeStartElement(state, se, 5, 4, 50, 37); + /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}Tariff)] */ + return _exiDecodeStartElement(state, se, 4, 64, 50, 51); break; case 50: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}PowerSwitchClosed)] */ - return _exiDecodeStartElement(state, se, 5, 24, 51, 52); - break; - case 51: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}RCD)] */ - return _exiDecodeStartElement(state, se, 5, 26, 53, 54); + /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}MeterInfo)] */ + return _exiDecodeStartElement(state, se, 4, 15, 52, 53); break; case 53: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}ShutDownTime)] */ - return _exiDecodeStartElement(state, se, 5, 38, 55, 56); + /* FirstStartTagStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}MeterID), 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:MsgDataTypes}TMeter), END_ELEMENT] */ + if (state->eventCode == 0) { + return _exiDecodeStartElement(state, se, 5, 16, 54, 55); + } + else if (state->eventCode == 1) { + return _exiDecodeStartElement(state, se, 5, 18, 56, 57); + } + else if (state->eventCode == 2) { + return _exiDecodeStartElement(state, se, 5, 19, 58, 59); + } + else if (state->eventCode == 3) { + return _exiDecodeStartElement(state, se, 5, 37, 60, 45); + } break; - case 55: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}ChargerStandby)] */ - return _exiDecodeStartElement(state, se, 5, 0, 57, 39); + case 54: + /* Element[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:MsgDataTypes}TMeter), END_ELEMENT] */ + if (state->eventCode == 0) { + return _exiDecodeStartElement(state, se, 5, 18, 56, 57); + } + else if (state->eventCode == 1) { + return _exiDecodeStartElement(state, se, 5, 19, 58, 59); + } + else if (state->eventCode == 2) { + return _exiDecodeStartElement(state, se, 5, 37, 60, 45); + } + break; + case 56: + /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}MeterStatus), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}TMeter), END_ELEMENT] */ + if (state->eventCode == 0) { + return _exiDecodeStartElement(state, se, 5, 19, 58, 59); + } + else if (state->eventCode == 1) { + return _exiDecodeStartElement(state, se, 5, 37, 60, 45); + } break; case 57: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}EVSEMalfunction)] */ - return _exiDecodeStartElement(state, se, 5, 7, 58, 59); + /* FirstStartTagStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Multiplier)] */ + return _exiDecodeStartElement(state, se, 5, 20, 61, 62); break; case 58: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}StopCharging)] */ - return _exiDecodeStartElement(state, se, 5, 39, 60, 61); + /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}TMeter), END_ELEMENT] */ + if (state->eventCode == 0) { + return _exiDecodeStartElement(state, se, 5, 37, 60, 45); + } break; - case 62: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}ChargingMode)] */ - return _exiDecodeStartElement(state, se, 4, 8, 63, 64); + case 61: + /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Unit)] */ + return _exiDecodeStartElement(state, se, 5, 49, 63, 64); break; case 63: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}EoC)] */ - return _exiDecodeStartElement(state, se, 4, 27, 65, 56); - break; - case 65: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}EAmount)] */ - return _exiDecodeStartElement(state, se, 4, 15, 66, 67); - break; - case 66: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}PEVMaxPower)] */ - return _exiDecodeStartElement(state, se, 4, 46, 68, 67); - break; - case 67: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}Multiplier)] */ - return _exiDecodeStartElement(state, se, 5, 21, 75, 76); - break; - case 68: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}PEVMaxPhases)] */ - return _exiDecodeStartElement(state, se, 4, 45, 69, 70); + /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Value)] */ + return _exiDecodeStartElement(state, se, 5, 50, 65, 66); break; case 69: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}PEVMaxVoltage)] */ - return _exiDecodeStartElement(state, se, 4, 47, 71, 67); + /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEID)] */ + return _exiDecodeStartElement(state, se, 4, 3, 71, 72); break; case 71: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}PEVMinVoltage)] */ - return _exiDecodeStartElement(state, se, 4, 49, 72, 67); - break; - case 72: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}PEVMaxCurrent)] */ - return _exiDecodeStartElement(state, se, 4, 44, 73, 67); + /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEStatus)] */ + return _exiDecodeStartElement(state, se, 4, 7, 73, 35); break; case 73: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}PEVMinCurrent)] */ - return _exiDecodeStartElement(state, se, 4, 48, 74, 67); + /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}TCurrent)] */ + return _exiDecodeStartElement(state, se, 4, 63, 74, 45); + break; + case 74: + /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEMaxPower)] */ + return _exiDecodeStartElement(state, se, 4, 6, 75, 57); break; case 75: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}Unit)] */ - return _exiDecodeStartElement(state, se, 5, 52, 77, 78); + /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PCurrent), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}MeterInfo), END_ELEMENT] */ + if (state->eventCode == 0) { + return _exiDecodeStartElement(state, se, 4, 25, 76, 57); + } + else if (state->eventCode == 1) { + return _exiDecodeStartElement(state, se, 4, 15, 77, 53); + } break; - case 77: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}Value)] */ - return _exiDecodeStartElement(state, se, 5, 53, 79, 80); + case 76: + /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}MeterInfo), END_ELEMENT] */ + if (state->eventCode == 0) { + return _exiDecodeStartElement(state, se, 4, 15, 77, 53); + } break; - case 81: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}EVSEStatus)] */ - return _exiDecodeStartElement(state, se, 4, 25, 83, 46); + case 82: + /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ReqSwitchStatus)] */ + return _exiDecodeStartElement(state, se, 4, 46, 83, 41); break; case 83: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}EVSEMaxVoltage)] */ - return _exiDecodeStartElement(state, se, 4, 20, 84, 67); + /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}Tariff), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ChargingProfile), END_ELEMENT] */ + if (state->eventCode == 0) { + return _exiDecodeStartElement(state, se, 4, 64, 84, 51); + } + else if (state->eventCode == 1) { + return _exiDecodeStartElement(state, se, 4, 0, 85, 86); + } break; case 84: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}EVSEMinVoltage)] */ - return _exiDecodeStartElement(state, se, 4, 22, 85, 67); - break; - case 85: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}EVSEMaxCurrent)] */ - return _exiDecodeStartElement(state, se, 4, 17, 86, 67); + /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ChargingProfile), END_ELEMENT] */ + if (state->eventCode == 0) { + return _exiDecodeStartElement(state, se, 4, 0, 85, 86); + } break; case 86: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}EVSEMinCurrent)] */ - return _exiDecodeStartElement(state, se, 4, 21, 87, 67); + /* FirstStartTagStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ChargingProfileEntryStart)] */ + return _exiDecodeStartElement(state, se, 5, 2, 87, 45); break; case 87: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}EVSEMaxPhases)] */ - return _exiDecodeStartElement(state, se, 4, 18, 88, 70); + /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ChargingProfileEntryMaxPower)] */ + return _exiDecodeStartElement(state, se, 5, 1, 88, 57); break; - case 88: - /* 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 (state->eventCode == 0) { - return _exiDecodeStartElement(state, se, 4, 26, 89, 90); - } - else if (state->eventCode == 1) { - return _exiDecodeStartElement(state, se, 4, 84, 91, 92); - } - break; - case 89: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}TariffTable), END_ELEMENT] */ - if (state->eventCode == 0) { - return _exiDecodeStartElement(state, se, 4, 84, 91, 92); - } + case 91: + /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EoC)] */ + return _exiDecodeStartElement(state, se, 4, 10, 92, 45); break; case 92: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}Currency)] */ - return _exiDecodeStartElement(state, se, 5, 5, 93, 94); + /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EAmount)] */ + return _exiDecodeStartElement(state, se, 4, 2, 93, 57); break; case 93: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}Tariff)] */ - return _exiDecodeStartElement(state, se, 5, 41, 95, 96); + /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PEVMaxPower)] */ + return _exiDecodeStartElement(state, se, 4, 28, 94, 57); + break; + case 94: + /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PEVMaxPhases)] */ + return _exiDecodeStartElement(state, se, 4, 27, 95, 96); break; case 95: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}Tariff), END_ELEMENT] */ - if (state->eventCode == 0) { - return _exiDecodeStartElement(state, se, 5, 41, 97, 96); - } - break; - case 96: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}TariffID)] */ - return _exiDecodeStartElement(state, se, 5, 48, 102, 103); + /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PEVMaxVoltage)] */ + return _exiDecodeStartElement(state, se, 4, 29, 97, 57); break; case 97: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}Tariff), END_ELEMENT] */ - if (state->eventCode == 0) { - return _exiDecodeStartElement(state, se, 5, 41, 98, 96); - } - break; - case 98: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}Tariff), END_ELEMENT] */ - if (state->eventCode == 0) { - return _exiDecodeStartElement(state, se, 5, 41, 99, 96); - } + /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PEVMinVoltage)] */ + return _exiDecodeStartElement(state, se, 4, 30, 98, 57); break; case 99: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}Tariff), END_ELEMENT] */ - if (state->eventCode == 0) { - return _exiDecodeStartElement(state, se, 5, 41, 100, 96); - } + /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEStatus)] */ + return _exiDecodeStartElement(state, se, 4, 7, 101, 35); break; - case 100: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}Tariff), END_ELEMENT] */ - if (state->eventCode == 0) { - return _exiDecodeStartElement(state, se, 5, 41, 101, 96); - } + case 101: + /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEVoltage)] */ + return _exiDecodeStartElement(state, se, 4, 8, 102, 57); break; case 102: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}TariffDescription), START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}TariffEntries)] */ - if (state->eventCode == 0) { - return _exiDecodeStartElement(state, se, 5, 43, 104, 105); - } - else if (state->eventCode == 1) { - return _exiDecodeStartElement(state, se, 5, 44, 106, 107); - } + /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEIMax)] */ + return _exiDecodeStartElement(state, se, 4, 4, 103, 57); + break; + case 103: + /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEMaxPhases)] */ + return _exiDecodeStartElement(state, se, 4, 5, 104, 96); break; case 104: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}TariffEntries)] */ - return _exiDecodeStartElement(state, se, 5, 44, 106, 107); + /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EnergyProvider), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}TariffTable), END_ELEMENT] */ + if (state->eventCode == 0) { + return _exiDecodeStartElement(state, se, 4, 9, 105, 106); + } + else if (state->eventCode == 1) { + return _exiDecodeStartElement(state, se, 4, 65, 107, 108); + } break; - case 107: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}TariffEntry)] */ - return _exiDecodeStartElement(state, se, 5, 46, 108, 109); + case 105: + /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}TariffTable), END_ELEMENT] */ + if (state->eventCode == 0) { + return _exiDecodeStartElement(state, se, 4, 65, 107, 108); + } break; case 108: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}TariffEntry), END_ELEMENT] */ - if (state->eventCode == 0) { - return _exiDecodeStartElement(state, se, 5, 46, 110, 109); - } + /* FirstStartTagStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Currency)] */ + return _exiDecodeStartElement(state, se, 5, 5, 109, 110); break; case 109: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}TariffStart)] */ - return _exiDecodeStartElement(state, se, 5, 50, 117, 118); - break; - case 110: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}TariffEntry), END_ELEMENT] */ - if (state->eventCode == 0) { - return _exiDecodeStartElement(state, se, 5, 46, 111, 109); - } + /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Tariff)] */ + return _exiDecodeStartElement(state, se, 5, 38, 111, 112); break; case 111: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}TariffEntry), END_ELEMENT] */ + /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Tariff), END_ELEMENT] */ if (state->eventCode == 0) { - return _exiDecodeStartElement(state, se, 5, 46, 112, 109); + return _exiDecodeStartElement(state, se, 5, 38, 111, 112); } break; case 112: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}TariffEntry), END_ELEMENT] */ - if (state->eventCode == 0) { - return _exiDecodeStartElement(state, se, 5, 46, 113, 109); - } + /* FirstStartTagStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}TariffID)] */ + return _exiDecodeStartElement(state, se, 5, 45, 113, 51); break; case 113: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}TariffEntry), END_ELEMENT] */ + /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}TariffDescription), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}TariffEntries)] */ if (state->eventCode == 0) { - return _exiDecodeStartElement(state, se, 5, 46, 114, 109); + return _exiDecodeStartElement(state, se, 5, 40, 114, 115); + } + else if (state->eventCode == 1) { + return _exiDecodeStartElement(state, se, 5, 41, 116, 117); } break; case 114: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}TariffEntry), END_ELEMENT] */ - if (state->eventCode == 0) { - return _exiDecodeStartElement(state, se, 5, 46, 115, 109); - } - break; - case 115: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}TariffEntry), END_ELEMENT] */ - if (state->eventCode == 0) { - return _exiDecodeStartElement(state, se, 5, 46, 116, 109); - } + /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}TariffEntries)] */ + return _exiDecodeStartElement(state, se, 5, 41, 116, 117); break; case 117: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}TariffPMax)] */ - return _exiDecodeStartElement(state, se, 5, 49, 119, 67); + /* FirstStartTagStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}TariffEntry)] */ + return _exiDecodeStartElement(state, se, 5, 43, 118, 119); + break; + case 118: + /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}TariffEntry), END_ELEMENT] */ + if (state->eventCode == 0) { + return _exiDecodeStartElement(state, se, 5, 43, 118, 119); + } break; case 119: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}EPrice), END_ELEMENT] */ - if (state->eventCode == 0) { - return _exiDecodeStartElement(state, se, 5, 6, 120, 67); - } + /* FirstStartTagStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}TariffStart)] */ + return _exiDecodeStartElement(state, se, 5, 47, 120, 121); break; - case 121: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}PEVTargetVoltage)] */ - return _exiDecodeStartElement(state, se, 4, 51, 122, 67); + case 120: + /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}TariffPMax)] */ + return _exiDecodeStartElement(state, se, 5, 46, 122, 57); break; case 122: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}PEVDemandCurrent)] */ - return _exiDecodeStartElement(state, se, 4, 42, 123, 67); - break; - case 123: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}CurrentDifferential)] */ - return _exiDecodeStartElement(state, se, 4, 14, 124, 67); + /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EPrice), END_ELEMENT] */ + if (state->eventCode == 0) { + return _exiDecodeStartElement(state, se, 5, 6, 123, 57); + } break; case 124: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}VoltageDifferential)] */ - return _exiDecodeStartElement(state, se, 4, 89, 125, 67); - break; - case 126: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}EVSEStatus)] */ - return _exiDecodeStartElement(state, se, 4, 25, 128, 46); + /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceScope), END_ELEMENT] */ + if (state->eventCode == 0) { + return _exiDecodeStartElement(state, se, 4, 57, 126, 127); + } break; case 128: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}EVSEPresentVoltage)] */ - return _exiDecodeStartElement(state, se, 4, 24, 129, 67); - break; - case 129: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}EVSEPresentCurrent)] */ - return _exiDecodeStartElement(state, se, 4, 23, 130, 67); + /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceList), END_ELEMENT] */ + if (state->eventCode == 0) { + return _exiDecodeStartElement(state, se, 4, 52, 130, 131); + } break; case 131: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}ReqLockStatus)] */ - return _exiDecodeStartElement(state, se, 4, 64, 132, 37); + /* FirstStartTagStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Service)] */ + return _exiDecodeStartElement(state, se, 5, 26, 132, 133); + break; + case 132: + /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Service), END_ELEMENT] */ + if (state->eventCode == 0) { + return _exiDecodeStartElement(state, se, 5, 26, 132, 133); + } break; case 133: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}EVSEStatus)] */ - return _exiDecodeStartElement(state, se, 4, 25, 135, 46); + /* FirstStartTagStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceID)] */ + return _exiDecodeStartElement(state, se, 5, 28, 134, 135); + break; + case 134: + /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceName), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceType), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceScope), END_ELEMENT] */ + if (state->eventCode == 0) { + return _exiDecodeStartElement(state, se, 5, 30, 136, 137); + } + else if (state->eventCode == 1) { + return _exiDecodeStartElement(state, se, 5, 33, 138, 125); + } + else if (state->eventCode == 2) { + return _exiDecodeStartElement(state, se, 5, 31, 139, 127); + } break; case 136: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}PEVStatus)] */ - return _exiDecodeStartElement(state, se, 4, 50, 138, 35); + /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceType), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceScope), END_ELEMENT] */ + if (state->eventCode == 0) { + return _exiDecodeStartElement(state, se, 5, 33, 138, 125); + } + else if (state->eventCode == 1) { + return _exiDecodeStartElement(state, se, 5, 31, 139, 127); + } break; case 138: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}TCurrent), START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}Tariff)] */ + /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceScope), END_ELEMENT] */ if (state->eventCode == 0) { - return _exiDecodeStartElement(state, se, 4, 82, 139, 56); + return _exiDecodeStartElement(state, se, 5, 31, 139, 127); } - else if (state->eventCode == 1) { - return _exiDecodeStartElement(state, se, 4, 83, 140, 103); - } - break; - case 139: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}Tariff)] */ - return _exiDecodeStartElement(state, se, 4, 83, 140, 103); break; case 140: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}MeterInfo)] */ - return _exiDecodeStartElement(state, se, 4, 32, 141, 142); - break; - case 142: - /* 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 (state->eventCode == 0) { - return _exiDecodeStartElement(state, se, 5, 17, 143, 144); - } - else if (state->eventCode == 1) { - return _exiDecodeStartElement(state, se, 5, 19, 145, 67); - } - else if (state->eventCode == 2) { - return _exiDecodeStartElement(state, se, 5, 20, 146, 147); - } - else if (state->eventCode == 3) { - return _exiDecodeStartElement(state, se, 5, 40, 148, 56); - } + /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PEVPubKey)] */ + return _exiDecodeStartElement(state, se, 4, 31, 141, 142); break; case 143: - /* 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] */ + /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}MeteringAuthPubKey), END_ELEMENT] */ if (state->eventCode == 0) { - return _exiDecodeStartElement(state, se, 5, 19, 145, 67); - } - else if (state->eventCode == 1) { - return _exiDecodeStartElement(state, se, 5, 20, 146, 147); - } - else if (state->eventCode == 2) { - return _exiDecodeStartElement(state, se, 5, 40, 148, 56); - } - break; - case 145: - /* 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 (state->eventCode == 0) { - return _exiDecodeStartElement(state, se, 5, 20, 146, 147); - } - else if (state->eventCode == 1) { - return _exiDecodeStartElement(state, se, 5, 40, 148, 56); + return _exiDecodeStartElement(state, se, 4, 16, 145, 142); } break; case 146: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}TMeter), END_ELEMENT] */ - if (state->eventCode == 0) { - return _exiDecodeStartElement(state, se, 5, 40, 148, 56); - } + /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PEVStatus)] */ + return _exiDecodeStartElement(state, se, 4, 32, 147, 25); + break; + case 148: + /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEID)] */ + return _exiDecodeStartElement(state, se, 4, 3, 150, 72); + break; + case 150: + /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEStatus)] */ + return _exiDecodeStartElement(state, se, 4, 7, 151, 35); break; case 151: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}EVSEID)] */ - return _exiDecodeStartElement(state, se, 4, 16, 153, 154); + /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}TCurrent)] */ + return _exiDecodeStartElement(state, se, 4, 63, 152, 45); break; case 153: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}EVSEStatus)] */ - return _exiDecodeStartElement(state, se, 4, 25, 155, 46); + /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDef}Body)] */ + return _exiDecodeStartElement(state, se, 6, 0, 155, 156); break; - case 155: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}TCurrent)] */ - return _exiDecodeStartElement(state, se, 4, 82, 156, 56); + case 154: + /* FirstStartTagStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDef}SessionInformation)] */ + return _exiDecodeStartElement(state, se, 6, 7, 157, 158); break; case 156: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}EVSEMaxPower)] */ - return _exiDecodeStartElement(state, se, 4, 19, 157, 67); - break; - case 157: - /* 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] */ + /* FirstStartTagStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDef}BodyElement), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}LineLockReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}LineLockRes), 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}MeteringStatusReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}MeteringStatusRes), 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}PowerDiscoveryReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PowerDiscoveryRes), 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), END_ELEMENT] */ if (state->eventCode == 0) { - return _exiDecodeStartElement(state, se, 4, 41, 158, 67); + return _exiDecodeStartElement(state, se, 6, 2, 174, 3); } else if (state->eventCode == 1) { - return _exiDecodeStartElement(state, se, 4, 32, 159, 142); + return _exiDecodeStartElement(state, se, 4, 11, 174, 5); + } + else if (state->eventCode == 2) { + return _exiDecodeStartElement(state, se, 4, 13, 174, 6); + } + else if (state->eventCode == 3) { + return _exiDecodeStartElement(state, se, 4, 17, 174, 7); + } + else if (state->eventCode == 4) { + return _exiDecodeStartElement(state, se, 4, 19, 174, 8); + } + else if (state->eventCode == 5) { + return _exiDecodeStartElement(state, se, 4, 21, 174, 9); + } + else if (state->eventCode == 6) { + return _exiDecodeStartElement(state, se, 4, 23, 174, 10); + } + else if (state->eventCode == 7) { + return _exiDecodeStartElement(state, se, 4, 33, 174, 11); + } + else if (state->eventCode == 8) { + return _exiDecodeStartElement(state, se, 4, 35, 174, 12); + } + else if (state->eventCode == 9) { + return _exiDecodeStartElement(state, se, 4, 37, 174, 13); + } + else if (state->eventCode == 10) { + return _exiDecodeStartElement(state, se, 4, 39, 174, 14); + } + else if (state->eventCode == 11) { + return _exiDecodeStartElement(state, se, 4, 41, 174, 15); + } + else if (state->eventCode == 12) { + return _exiDecodeStartElement(state, se, 4, 43, 174, 16); + } + else if (state->eventCode == 13) { + return _exiDecodeStartElement(state, se, 4, 48, 174, 17); + } + else if (state->eventCode == 14) { + return _exiDecodeStartElement(state, se, 4, 50, 174, 18); + } + else if (state->eventCode == 15) { + return _exiDecodeStartElement(state, se, 4, 53, 174, 19); + } + else if (state->eventCode == 16) { + return _exiDecodeStartElement(state, se, 4, 55, 174, 20); + } + else if (state->eventCode == 17) { + return _exiDecodeStartElement(state, se, 4, 59, 174, 21); + } + else if (state->eventCode == 18) { + return _exiDecodeStartElement(state, se, 4, 61, 174, 22); + } + break; + case 157: + /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDef}Notification), END_ELEMENT] */ + if (state->eventCode == 0) { + return _exiDecodeStartElement(state, se, 6, 6, 159, 160); } break; case 158: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}MeterInfo), END_ELEMENT] */ + /* FirstStartTagStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SessionID)] */ + return _exiDecodeStartElement(state, se, 5, 34, 161, 162); + break; + case 160: + /* FirstStartTagStartTag[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}EventList), END_ELEMENT] */ if (state->eventCode == 0) { - return _exiDecodeStartElement(state, se, 4, 32, 159, 142); + return _exiDecodeStartElement(state, se, 5, 13, 166, 167); + } + else if (state->eventCode == 1) { + return _exiDecodeStartElement(state, se, 5, 14, 168, 169); + } + else if (state->eventCode == 2) { + return _exiDecodeStartElement(state, se, 5, 10, 170, 171); } break; - case 162: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}TCurrent)] */ - return _exiDecodeStartElement(state, se, 4, 82, 164, 56); + case 161: + /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceSessionID), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ProtocolVersion), END_ELEMENT] */ + if (state->eventCode == 0) { + return _exiDecodeStartElement(state, se, 5, 32, 163, 162); + } + else if (state->eventCode == 1) { + return _exiDecodeStartElement(state, se, 5, 24, 164, 165); + } break; - case 165: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}ReqSwitchStatus)] */ - return _exiDecodeStartElement(state, se, 4, 65, 166, 52); + case 163: + /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ProtocolVersion), END_ELEMENT] */ + if (state->eventCode == 0) { + return _exiDecodeStartElement(state, se, 5, 24, 164, 165); + } break; case 166: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}Tariff), END_ELEMENT] */ + /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}FaultMsg), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EventList), END_ELEMENT] */ if (state->eventCode == 0) { - return _exiDecodeStartElement(state, se, 4, 83, 167, 103); + return _exiDecodeStartElement(state, se, 5, 14, 168, 169); + } + else if (state->eventCode == 1) { + return _exiDecodeStartElement(state, se, 5, 10, 170, 171); } break; case 168: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}EVSEStatus)] */ - return _exiDecodeStartElement(state, se, 4, 25, 170, 46); + /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EventList), END_ELEMENT] */ + if (state->eventCode == 0) { + return _exiDecodeStartElement(state, se, 5, 10, 170, 171); + } break; case 171: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}PEVTargetVoltage)] */ - return _exiDecodeStartElement(state, se, 4, 51, 172, 67); - break; - case 172: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}PEVDemandCurrent)] */ - return _exiDecodeStartElement(state, se, 4, 42, 173, 67); - break; - case 173: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}VoltageDifferential)] */ - return _exiDecodeStartElement(state, se, 4, 89, 174, 67); - break; - case 175: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}EVSEStatus)] */ - return _exiDecodeStartElement(state, se, 4, 25, 177, 46); - break; - case 177: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}EVSEPresentVoltage)] */ - return _exiDecodeStartElement(state, se, 4, 24, 178, 67); - break; - case 179: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}ServiceScope), END_ELEMENT] */ - if (state->eventCode == 0) { - return _exiDecodeStartElement(state, se, 4, 76, 181, 182); - } - break; - case 183: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}ServiceList), END_ELEMENT] */ - if (state->eventCode == 0) { - return _exiDecodeStartElement(state, se, 4, 71, 185, 186); - } - break; - case 186: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}Service)] */ - return _exiDecodeStartElement(state, se, 5, 28, 187, 188); - break; - case 187: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}Service), END_ELEMENT] */ - if (state->eventCode == 0) { - return _exiDecodeStartElement(state, se, 5, 28, 189, 188); - } - break; - case 188: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}ServiceID)] */ - return _exiDecodeStartElement(state, se, 5, 30, 196, 197); - break; - case 189: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}Service), END_ELEMENT] */ - if (state->eventCode == 0) { - return _exiDecodeStartElement(state, se, 5, 28, 190, 188); - } - break; - case 190: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}Service), END_ELEMENT] */ - if (state->eventCode == 0) { - return _exiDecodeStartElement(state, se, 5, 28, 191, 188); - } - break; - case 191: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}Service), END_ELEMENT] */ - if (state->eventCode == 0) { - return _exiDecodeStartElement(state, se, 5, 28, 192, 188); - } - break; - case 192: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}Service), END_ELEMENT] */ - if (state->eventCode == 0) { - return _exiDecodeStartElement(state, se, 5, 28, 193, 188); - } - break; - case 193: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}Service), END_ELEMENT] */ - if (state->eventCode == 0) { - return _exiDecodeStartElement(state, se, 5, 28, 194, 188); - } - break; - case 194: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}Service), END_ELEMENT] */ - if (state->eventCode == 0) { - return _exiDecodeStartElement(state, se, 5, 28, 195, 188); - } - break; - case 196: - /* 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 (state->eventCode == 0) { - return _exiDecodeStartElement(state, se, 5, 32, 198, 199); - } - else if (state->eventCode == 1) { - return _exiDecodeStartElement(state, se, 5, 35, 200, 180); - } - else if (state->eventCode == 2) { - return _exiDecodeStartElement(state, se, 5, 33, 201, 182); - } - break; - case 198: - /* 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 (state->eventCode == 0) { - return _exiDecodeStartElement(state, se, 5, 35, 200, 180); - } - else if (state->eventCode == 1) { - return _exiDecodeStartElement(state, se, 5, 33, 201, 182); - } - break; - case 200: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}ServiceScope), END_ELEMENT] */ - if (state->eventCode == 0) { - return _exiDecodeStartElement(state, se, 5, 33, 201, 182); - } - break; - case 205: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}PEVStatus)] */ - return _exiDecodeStartElement(state, se, 4, 50, 206, 35); - break; - case 207: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}EVSEID)] */ - return _exiDecodeStartElement(state, se, 4, 16, 209, 154); - break; - case 209: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}EVSEStatus)] */ - return _exiDecodeStartElement(state, se, 4, 25, 210, 46); - break; - case 210: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}TCurrent)] */ - return _exiDecodeStartElement(state, se, 4, 82, 211, 56); - break; - case 213: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}EVSEStatus)] */ - return _exiDecodeStartElement(state, se, 4, 25, 215, 46); - break; - case 215: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}EVSEPresentVoltage)] */ - return _exiDecodeStartElement(state, se, 4, 24, 216, 67); - break; - case 217: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDef}Body)] */ - return _exiDecodeStartElement(state, se, 6, 0, 219, 220); - break; - case 218: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgHeader}SessionInformation)] */ - return _exiDecodeStartElement(state, se, 7, 2, 221, 222); - break; - case 220: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDef}BodyElement), START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}CableCheckReq), START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}CableCheckRes), START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}ChargeParameterDiscoveryReq), START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}ChargeParameterDiscoveryRes), START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}CurrentDemandReq), START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}CurrentDemandRes), 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}PreChargeReq), START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}PreChargeRes), 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:MsgBody}TerminateChargingReq), START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}TerminateChargingRes), START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}WeldingDetectionReq), START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}WeldingDetectionRes), END_ELEMENT] */ - if (state->eventCode == 0) { - return _exiDecodeStartElement(state, se, 6, 2, 238, 3); - } - else if (state->eventCode == 1) { - return _exiDecodeStartElement(state, se, 4, 0, 238, 5); - } - else if (state->eventCode == 2) { - return _exiDecodeStartElement(state, se, 4, 2, 238, 6); - } - else if (state->eventCode == 3) { - return _exiDecodeStartElement(state, se, 4, 4, 238, 7); - } - else if (state->eventCode == 4) { - return _exiDecodeStartElement(state, se, 4, 6, 238, 8); - } - else if (state->eventCode == 5) { - return _exiDecodeStartElement(state, se, 4, 10, 238, 9); - } - else if (state->eventCode == 6) { - return _exiDecodeStartElement(state, se, 4, 12, 238, 10); - } - else if (state->eventCode == 7) { - return _exiDecodeStartElement(state, se, 4, 28, 238, 11); - } - else if (state->eventCode == 8) { - return _exiDecodeStartElement(state, se, 4, 30, 238, 12); - } - else if (state->eventCode == 9) { - return _exiDecodeStartElement(state, se, 4, 33, 238, 13); - } - else if (state->eventCode == 10) { - return _exiDecodeStartElement(state, se, 4, 35, 238, 14); - } - else if (state->eventCode == 11) { - return _exiDecodeStartElement(state, se, 4, 37, 238, 15); - } - else if (state->eventCode == 12) { - return _exiDecodeStartElement(state, se, 4, 39, 238, 16); - } - else if (state->eventCode == 13) { - return _exiDecodeStartElement(state, se, 4, 52, 238, 17); - } - else if (state->eventCode == 14) { - return _exiDecodeStartElement(state, se, 4, 54, 238, 18); - } - else if (state->eventCode == 15) { - return _exiDecodeStartElement(state, se, 4, 56, 238, 19); - } - else if (state->eventCode == 16) { - return _exiDecodeStartElement(state, se, 4, 58, 238, 20); - } - else if (state->eventCode == 17) { - return _exiDecodeStartElement(state, se, 4, 60, 238, 21); - } - else if (state->eventCode == 18) { - return _exiDecodeStartElement(state, se, 4, 62, 238, 22); - } - else if (state->eventCode == 19) { - return _exiDecodeStartElement(state, se, 4, 67, 238, 23); - } - else if (state->eventCode == 20) { - return _exiDecodeStartElement(state, se, 4, 69, 238, 24); - } - else if (state->eventCode == 21) { - return _exiDecodeStartElement(state, se, 4, 72, 238, 25); - } - else if (state->eventCode == 22) { - return _exiDecodeStartElement(state, se, 4, 74, 238, 26); - } - else if (state->eventCode == 23) { - return _exiDecodeStartElement(state, se, 4, 78, 238, 27); - } - else if (state->eventCode == 24) { - return _exiDecodeStartElement(state, se, 4, 80, 238, 28); - } - else if (state->eventCode == 25) { - return _exiDecodeStartElement(state, se, 4, 85, 238, 29); - } - else if (state->eventCode == 26) { - return _exiDecodeStartElement(state, se, 4, 87, 238, 30); - } - else if (state->eventCode == 27) { - return _exiDecodeStartElement(state, se, 4, 90, 238, 32); - } - else if (state->eventCode == 28) { - return _exiDecodeStartElement(state, se, 4, 92, 238, 33); - } - break; - case 221: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgHeader}Notification), END_ELEMENT] */ - if (state->eventCode == 0) { - return _exiDecodeStartElement(state, se, 7, 1, 223, 224); - } - break; - case 222: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}SessionID)] */ - return _exiDecodeStartElement(state, se, 5, 36, 225, 226); - break; - case 224: - /* 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 (state->eventCode == 0) { - return _exiDecodeStartElement(state, se, 5, 14, 230, 231); - } - else if (state->eventCode == 1) { - return _exiDecodeStartElement(state, se, 5, 15, 232, 233); - } - else if (state->eventCode == 2) { - return _exiDecodeStartElement(state, se, 5, 11, 234, 235); - } - break; - case 225: - /* 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 (state->eventCode == 0) { - return _exiDecodeStartElement(state, se, 5, 34, 227, 226); - } - else if (state->eventCode == 1) { - return _exiDecodeStartElement(state, se, 5, 25, 228, 229); - } - break; - case 227: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}ProtocolVersion), END_ELEMENT] */ - if (state->eventCode == 0) { - return _exiDecodeStartElement(state, se, 5, 25, 228, 229); - } - break; - case 230: - /* 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 (state->eventCode == 0) { - return _exiDecodeStartElement(state, se, 5, 15, 232, 233); - } - else if (state->eventCode == 1) { - return _exiDecodeStartElement(state, se, 5, 11, 234, 235); - } - break; - case 232: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}EventList), END_ELEMENT] */ - if (state->eventCode == 0) { - return _exiDecodeStartElement(state, se, 5, 11, 234, 235); - } - break; - case 235: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}Event)] */ - return _exiDecodeStartElement(state, se, 5, 10, 236, 237); - break; - case 240: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}EVSEStatus)] */ - return _exiDecodeStartElement(state, se, 4, 25, 242, 46); - break; - case 242: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}EVSEPresentVoltage)] */ - return _exiDecodeStartElement(state, se, 4, 24, 243, 67); + /* FirstStartTagStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Event)] */ + return _exiDecodeStartElement(state, se, 5, 9, 172, 173); break; default: @@ -1829,17 +1329,6 @@ int exiDecodeStartElement(bitstream_t* stream, exi_state_t* state, return -1; } -int exiDecodeStartElementGeneric(bitstream_t* stream, exi_state_t* state, - eqname_t* se) { - switch (state->grammarStack[state->stackIndex]) { -/* $EXI_DECODE_START_ELEMENT_GENERIC$ */ - default: - return -1; - } - - return -1; -} - int exiDecodeEndElement(bitstream_t* stream, exi_state_t* state, eqname_t* ee) { /* pop item and update ahead of time element qname */ @@ -1850,173 +1339,154 @@ int exiDecodeEndElement(bitstream_t* stream, exi_state_t* state, int exiDecodeCharacters(bitstream_t* stream, exi_state_t* state, exi_value_t* val) { - uint32_t xsi; - uint32_t bits; + uint8_t xsi; switch (state->grammarStack[state->stackIndex]) { - case 103: - /* CHARACTERS[ENUMERATION] */ - case 169: - /* CHARACTERS[ENUMERATION] */ - case 184: - /* CHARACTERS[ENUMERATION] */ - case 208: - /* CHARACTERS[ENUMERATION] */ - case 237: + case 62: /* CHARACTERS[ENUMERATION] */ val->type = ENUMERATION; - decodeNBitUnsignedInteger(stream, 3, &val->enumeration); + decodeNBitUnsignedInteger(stream, 4, &val->enumeration); /* move on */ - state->grammarStack[state->stackIndex] = 42; + state->grammarStack[state->stackIndex] = 31; return 0; - case 44: - /* CHARACTERS[ENUMERATION] */ - case 64: - /* CHARACTERS[ENUMERATION] */ + case 27: + /* CHARACTERS[BOOLEAN] */ + case 30: + /* CHARACTERS[BOOLEAN] */ + case 37: + /* CHARACTERS[BOOLEAN] */ + case 41: + /* CHARACTERS[BOOLEAN] */ + case 43: + /* CHARACTERS[BOOLEAN] */ + val->type = BOOLEAN; + decodeBoolean(stream, &val->boolean); + /* move on */ + state->grammarStack[state->stackIndex] = 31; + return 0; + case 47: + /* CHARACTERS[STRING] */ + case 55: + /* CHARACTERS[STRING] */ + case 79: + /* CHARACTERS[STRING] */ + case 106: + /* CHARACTERS[STRING] */ + case 110: + /* CHARACTERS[STRING] */ + case 115: + /* CHARACTERS[STRING] */ case 127: + /* CHARACTERS[STRING] */ + case 137: + /* CHARACTERS[STRING] */ + case 165: + /* CHARACTERS[STRING] */ + val->type = STRING; + decodeStringValue(stream, &val->string); + /* move on */ + state->grammarStack[state->stackIndex] = 31; + return 0; + case 68: /* CHARACTERS[ENUMERATION] */ - case 150: + case 70: /* CHARACTERS[ENUMERATION] */ - case 152: - /* CHARACTERS[ENUMERATION] */ - case 176: - /* CHARACTERS[ENUMERATION] */ - case 214: - /* CHARACTERS[ENUMERATION] */ - case 241: + case 100: /* CHARACTERS[ENUMERATION] */ val->type = ENUMERATION; decodeNBitUnsignedInteger(stream, 1, &val->enumeration); /* move on */ - state->grammarStack[state->stackIndex] = 42; + state->grammarStack[state->stackIndex] = 31; return 0; - case 80: - /* CHARACTERS[INTEGER_32] */ - /* xsi:type OR xsi:nil */ - decodeNBitUnsignedInteger(stream, 1, &xsi); - val->type = INTEGER_32; - decodeInteger32(stream, &val->int32); - /* move on */ - state->grammarStack[state->stackIndex] = 42; - return 0; - case 82: + case 33: /* CHARACTERS[ENUMERATION] */ - case 134: + case 81: /* CHARACTERS[ENUMERATION] */ - case 163: + case 125: /* CHARACTERS[ENUMERATION] */ - case 180: + case 144: /* CHARACTERS[ENUMERATION] */ - case 204: - /* CHARACTERS[ENUMERATION] */ - case 231: + case 167: /* CHARACTERS[ENUMERATION] */ val->type = ENUMERATION; decodeNBitUnsignedInteger(stream, 2, &val->enumeration); /* move on */ - state->grammarStack[state->stackIndex] = 42; + state->grammarStack[state->stackIndex] = 31; return 0; - case 90: - /* CHARACTERS[STRING] */ - case 94: - /* CHARACTERS[STRING] */ - case 105: - /* CHARACTERS[STRING] */ - case 137: - /* CHARACTERS[STRING] */ - case 144: - /* CHARACTERS[STRING] */ - case 161: - /* CHARACTERS[STRING] */ - case 182: - /* CHARACTERS[STRING] */ - case 199: - /* CHARACTERS[STRING] */ - case 229: - /* CHARACTERS[STRING] */ - val->type = STRING; - decodeStringValue(stream, &val->string); - /* move on */ - state->grammarStack[state->stackIndex] = 42; - return 0; - case 76: - /* CHARACTERS[INTEGER_16] */ - case 70: - /* CHARACTERS[INTEGER_16] */ - case 147: - /* CHARACTERS[INTEGER_16] */ - val->type = INTEGER_16; - decodeInteger32(stream, &val->int32); - /* move on */ - state->grammarStack[state->stackIndex] = 42; - return 0; - case 78: - /* CHARACTERS[ENUMERATION] */ - val->type = ENUMERATION; - decodeNBitUnsignedInteger(stream, 5, &val->enumeration); - /* move on */ - state->grammarStack[state->stackIndex] = 42; - return 0; - case 118: - /* CHARACTERS[UNSIGNED_INTEGER_32] */ - val->type = UNSIGNED_INTEGER_32; - decodeUnsignedInteger32(stream, &val->uint32); - /* move on */ - state->grammarStack[state->stackIndex] = 42; - return 0; - case 37: - /* CHARACTERS[BOOLEAN] */ - case 39: - /* CHARACTERS[BOOLEAN] */ - case 48: - /* CHARACTERS[BOOLEAN] */ - case 52: - /* CHARACTERS[BOOLEAN] */ - case 54: - /* CHARACTERS[BOOLEAN] */ - val->type = BOOLEAN; - decodeBoolean(stream, &val->boolean); - /* move on */ - state->grammarStack[state->stackIndex] = 42; - return 0; - case 41: - /* CHARACTERS[BOOLEAN] */ - case 59: - /* CHARACTERS[BOOLEAN] */ - case 61: - /* CHARACTERS[BOOLEAN] */ - /* xsi:type OR xsi:nil */ - decodeNBitUnsignedInteger(stream, 1, &xsi); - val->type = BOOLEAN; - decodeBoolean(stream, &val->boolean); - /* move on */ - state->grammarStack[state->stackIndex] = 42; - return 0; - case 56: - /* CHARACTERS[INTEGER_32] */ - val->type = INTEGER_32; - decodeInteger32(stream, &val->int32); - /* move on */ - state->grammarStack[state->stackIndex] = 42; - return 0; - case 233: - /* CHARACTERS[STRING] */ - /* xsi:type OR xsi:nil */ - decodeNBitUnsignedInteger(stream, 1, &xsi); - val->type = STRING; - decodeStringValue(stream, &val->string); - /* move on */ - state->grammarStack[state->stackIndex] = 42; - return 0; - case 154: + case 72: /* CHARACTERS[BINARY_HEX] */ - case 197: + case 135: /* CHARACTERS[BINARY_HEX] */ - case 226: + case 142: + /* CHARACTERS[BINARY_HEX] */ + case 162: /* CHARACTERS[BINARY_HEX] */ val->type = BINARY_HEX; decodeBinary(stream, &val->binary); /* move on */ - state->grammarStack[state->stackIndex] = 42; + state->grammarStack[state->stackIndex] = 31; + return 0; + case 169: + /* CHARACTERS[STRING] */ + /* xsi:type OR xsi:nil */ + decodeNBitUnsignedInteger(stream, 1, &xsi); + val->type = STRING; + decodeStringValue(stream, &val->string); + /* move on */ + state->grammarStack[state->stackIndex] = 31; + return 0; + case 66: + /* CHARACTERS[INTEGER_32] */ + /* xsi:type OR xsi:nil */ + decodeNBitUnsignedInteger(stream, 1, &xsi); + val->type = INTEGER_32; + decodeInteger32(stream, &val->int32); + /* move on */ + state->grammarStack[state->stackIndex] = 31; + return 0; + case 51: + /* CHARACTERS[ENUMERATION] */ + case 90: + /* CHARACTERS[ENUMERATION] */ + case 129: + /* CHARACTERS[ENUMERATION] */ + case 149: + /* CHARACTERS[ENUMERATION] */ + case 173: + /* CHARACTERS[ENUMERATION] */ + val->type = ENUMERATION; + decodeNBitUnsignedInteger(stream, 3, &val->enumeration); + /* move on */ + state->grammarStack[state->stackIndex] = 31; + return 0; + case 59: + /* CHARACTERS[INTEGER_16] */ + case 96: + /* CHARACTERS[INTEGER_16] */ + val->type = INTEGER_16; + decodeInteger32(stream, &val->int32); + /* move on */ + state->grammarStack[state->stackIndex] = 31; + return 0; + case 45: + /* CHARACTERS[INTEGER_32] */ + val->type = INTEGER_32; + decodeInteger32(stream, &val->int32); + /* move on */ + state->grammarStack[state->stackIndex] = 31; + return 0; + case 64: + /* CHARACTERS[ENUMERATION] */ + val->type = ENUMERATION; + decodeNBitUnsignedInteger(stream, 5, &val->enumeration); + /* move on */ + state->grammarStack[state->stackIndex] = 31; + return 0; + case 121: + /* CHARACTERS[UNSIGNED_INTEGER_32] */ + val->type = UNSIGNED_INTEGER_32; + decodeUnsignedInteger32(stream, &val->uint32); + /* move on */ + state->grammarStack[state->stackIndex] = 31; return 0; default: diff --git a/src/codec/EXIDecoder.h b/src/codec/EXIDecoder.h index 91e650e..f0c1e53 100644 --- a/src/codec/EXIDecoder.h +++ b/src/codec/EXIDecoder.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2007-2011 Siemens AG + * 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 @@ -18,7 +18,7 @@ /******************************************************************* * * @author Daniel.Peintner.EXT@siemens.com - * @version 0.4 + * @version 0.3 * @contact Joerg.Heuer@siemens.com * ********************************************************************/ @@ -44,9 +44,6 @@ int exiDecodeEndDocument(bitstream_t* stream, exi_state_t* state); int exiDecodeStartElement(bitstream_t* stream, exi_state_t* state, eqname_t* se); -int exiDecodeStartElementGeneric(bitstream_t* stream, exi_state_t* state, - eqname_t* se); - int exiDecodeEndElement(bitstream_t* stream, exi_state_t* state, eqname_t* ee); diff --git a/src/codec/EXIEncoder.c b/src/codec/EXIEncoder.c index 12222e5..a88d1f6 100644 --- a/src/codec/EXIEncoder.c +++ b/src/codec/EXIEncoder.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2007-2011 Siemens AG + * 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 @@ -18,7 +18,7 @@ /******************************************************************* * * @author Daniel.Peintner.EXT@siemens.com - * @version 0.4 + * @version 0.3 * @contact Joerg.Heuer@siemens.com * *NOTE: Code generated by EXIdizer v0.1
@@ -68,12 +68,9 @@ int exiEncodeEndDocument(bitstream_t* stream, exi_state_t* state) { 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; - } +static int _exiEncodeStartElement(bitstream_t* stream, size_t nbits, uint8_t val, + exi_state_t* state, eqname_t* se, size_t stackId, size_t newState) { + encodeNBitUnsignedInteger(stream, nbits, val); /* move on */ state->grammarStack[state->stackIndex] = stackId; /* push element on stack */ @@ -84,1347 +81,928 @@ 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}CableCheckReq), START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}CableCheckRes), START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}ChargeParameterDiscoveryReq), START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}ChargeParameterDiscoveryRes), START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}CurrentDemandReq), START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}CurrentDemandRes), 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}PreChargeReq), START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}PreChargeRes), 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:MsgBody}TerminateChargingReq), START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}TerminateChargingRes), START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDef}V2G_Message), START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}WeldingDetectionReq), START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}WeldingDetectionRes), START_ELEMENT_GENERIC] */ + /* DocContent[START_ELEMENT({urn:iso:15118:2:2010:MsgDef}BodyElement), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}LineLockReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}LineLockRes), 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}MeteringStatusReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}MeteringStatusRes), 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}PowerDiscoveryReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PowerDiscoveryRes), 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:MsgDef}V2G_Message), START_ELEMENT_GENERIC] */ if ( se->localPart == 2 && se->namespaceURI == 6 ) { - /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDef}BodyElement) */ + /* START_ELEMENT({urn:iso:15118:2:2010:MsgDef}BodyElement) */ return _exiEncodeStartElement(stream, 5, 0, state, se, 2, 3); } - else if ( se->localPart == 0 && se->namespaceURI == 4 ) { - /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}CableCheckReq) */ + else if ( se->localPart == 11 && se->namespaceURI == 4 ) { + /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}LineLockReq) */ return _exiEncodeStartElement(stream, 5, 1, state, se, 2, 5); } - else if ( se->localPart == 2 && se->namespaceURI == 4 ) { - /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}CableCheckRes) */ + else if ( se->localPart == 13 && se->namespaceURI == 4 ) { + /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}LineLockRes) */ return _exiEncodeStartElement(stream, 5, 2, state, se, 2, 6); } - else if ( se->localPart == 4 && se->namespaceURI == 4 ) { - /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}ChargeParameterDiscoveryReq) */ + else if ( se->localPart == 17 && se->namespaceURI == 4 ) { + /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}MeteringReceiptReq) */ return _exiEncodeStartElement(stream, 5, 3, state, se, 2, 7); } - else if ( se->localPart == 6 && se->namespaceURI == 4 ) { - /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}ChargeParameterDiscoveryRes) */ + else if ( se->localPart == 19 && se->namespaceURI == 4 ) { + /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}MeteringReceiptRes) */ return _exiEncodeStartElement(stream, 5, 4, state, se, 2, 8); } - else if ( se->localPart == 10 && se->namespaceURI == 4 ) { - /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}CurrentDemandReq) */ + else if ( se->localPart == 21 && se->namespaceURI == 4 ) { + /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}MeteringStatusReq) */ return _exiEncodeStartElement(stream, 5, 5, state, se, 2, 9); } - else if ( se->localPart == 12 && se->namespaceURI == 4 ) { - /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}CurrentDemandRes) */ + else if ( se->localPart == 23 && se->namespaceURI == 4 ) { + /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}MeteringStatusRes) */ return _exiEncodeStartElement(stream, 5, 6, state, se, 2, 10); } - else if ( se->localPart == 28 && se->namespaceURI == 4 ) { - /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}LineLockReq) */ + else if ( se->localPart == 33 && se->namespaceURI == 4 ) { + /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PaymentDetailsReq) */ return _exiEncodeStartElement(stream, 5, 7, state, se, 2, 11); } - else if ( se->localPart == 30 && se->namespaceURI == 4 ) { - /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}LineLockRes) */ + else if ( se->localPart == 35 && se->namespaceURI == 4 ) { + /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PaymentDetailsRes) */ return _exiEncodeStartElement(stream, 5, 8, state, se, 2, 12); } - else if ( se->localPart == 33 && se->namespaceURI == 4 ) { - /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}MeteringReceiptReq) */ + else if ( se->localPart == 37 && se->namespaceURI == 4 ) { + /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PowerDeliveryReq) */ return _exiEncodeStartElement(stream, 5, 9, state, se, 2, 13); } - else if ( se->localPart == 35 && se->namespaceURI == 4 ) { - /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}MeteringReceiptRes) */ + else if ( se->localPart == 39 && se->namespaceURI == 4 ) { + /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PowerDeliveryRes) */ return _exiEncodeStartElement(stream, 5, 10, state, se, 2, 14); } - else if ( se->localPart == 37 && se->namespaceURI == 4 ) { - /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}MeteringStatusReq) */ + else if ( se->localPart == 41 && se->namespaceURI == 4 ) { + /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PowerDiscoveryReq) */ return _exiEncodeStartElement(stream, 5, 11, state, se, 2, 15); } - else if ( se->localPart == 39 && se->namespaceURI == 4 ) { - /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}MeteringStatusRes) */ + else if ( se->localPart == 43 && se->namespaceURI == 4 ) { + /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PowerDiscoveryRes) */ return _exiEncodeStartElement(stream, 5, 12, state, se, 2, 16); } - else if ( se->localPart == 52 && se->namespaceURI == 4 ) { - /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}PaymentDetailsReq) */ + else if ( se->localPart == 48 && se->namespaceURI == 4 ) { + /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceDiscoveryReq) */ return _exiEncodeStartElement(stream, 5, 13, state, se, 2, 17); } - else if ( se->localPart == 54 && se->namespaceURI == 4 ) { - /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}PaymentDetailsRes) */ + else if ( se->localPart == 50 && se->namespaceURI == 4 ) { + /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceDiscoveryRes) */ return _exiEncodeStartElement(stream, 5, 14, state, se, 2, 18); } - else if ( se->localPart == 56 && se->namespaceURI == 4 ) { - /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}PowerDeliveryReq) */ + else if ( se->localPart == 53 && se->namespaceURI == 4 ) { + /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServicePaymentSelectionReq) */ return _exiEncodeStartElement(stream, 5, 15, state, se, 2, 19); } - else if ( se->localPart == 58 && se->namespaceURI == 4 ) { - /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}PowerDeliveryRes) */ + else if ( se->localPart == 55 && se->namespaceURI == 4 ) { + /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServicePaymentSelectionRes) */ return _exiEncodeStartElement(stream, 5, 16, state, se, 2, 20); } - else if ( se->localPart == 60 && se->namespaceURI == 4 ) { - /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}PreChargeReq) */ + else if ( se->localPart == 59 && se->namespaceURI == 4 ) { + /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}SessionSetupReq) */ return _exiEncodeStartElement(stream, 5, 17, state, se, 2, 21); } - else if ( se->localPart == 62 && se->namespaceURI == 4 ) { - /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}PreChargeRes) */ + else if ( se->localPart == 61 && se->namespaceURI == 4 ) { + /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}SessionSetupRes) */ return _exiEncodeStartElement(stream, 5, 18, state, se, 2, 22); } - else if ( se->localPart == 67 && se->namespaceURI == 4 ) { - /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}ServiceDiscoveryReq) */ + else if ( se->localPart == 8 && se->namespaceURI == 6 ) { + /* START_ELEMENT({urn:iso:15118:2:2010:MsgDef}V2G_Message) */ return _exiEncodeStartElement(stream, 5, 19, state, se, 2, 23); } - else if ( se->localPart == 69 && se->namespaceURI == 4 ) { - /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}ServiceDiscoveryRes) */ - return _exiEncodeStartElement(stream, 5, 20, state, se, 2, 24); - } - else if ( se->localPart == 72 && se->namespaceURI == 4 ) { - /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}ServicePaymentSelectionReq) */ - return _exiEncodeStartElement(stream, 5, 21, state, se, 2, 25); - } - else if ( se->localPart == 74 && se->namespaceURI == 4 ) { - /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}ServicePaymentSelectionRes) */ - return _exiEncodeStartElement(stream, 5, 22, state, se, 2, 26); - } - else if ( se->localPart == 78 && se->namespaceURI == 4 ) { - /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}SessionSetupReq) */ - return _exiEncodeStartElement(stream, 5, 23, state, se, 2, 27); - } - else if ( se->localPart == 80 && se->namespaceURI == 4 ) { - /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}SessionSetupRes) */ - return _exiEncodeStartElement(stream, 5, 24, state, se, 2, 28); - } - else if ( se->localPart == 85 && se->namespaceURI == 4 ) { - /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}TerminateChargingReq) */ - return _exiEncodeStartElement(stream, 5, 25, state, se, 2, 29); - } - else if ( se->localPart == 87 && se->namespaceURI == 4 ) { - /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}TerminateChargingRes) */ - return _exiEncodeStartElement(stream, 5, 26, state, se, 2, 30); - } - else if ( se->localPart == 5 && se->namespaceURI == 6 ) { - /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDef}V2G_Message) */ - return _exiEncodeStartElement(stream, 5, 27, state, se, 2, 31); - } - else if ( se->localPart == 90 && se->namespaceURI == 4 ) { - /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}WeldingDetectionReq) */ - return _exiEncodeStartElement(stream, 5, 28, state, se, 2, 32); - } - else if ( se->localPart == 92 && se->namespaceURI == 4 ) { - /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}WeldingDetectionRes) */ - return _exiEncodeStartElement(stream, 5, 29, state, se, 2, 33); - } break; case 5: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}PEVStatus)] */ - if ( se->localPart == 50 && se->namespaceURI == 4 ) { - /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}PEVStatus) */ - return _exiEncodeStartElement(stream, 0, 0, state, se, 34, 35); + /* FirstStartTagStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PEVStatus)] */ + if ( se->localPart == 32 && se->namespaceURI == 4 ) { + /* START_ELEMENT({urn:iso:15118:2:2010: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 == 66 && se->namespaceURI == 4 ) { - /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}ResponseCode) */ - return _exiEncodeStartElement(stream, 0, 0, state, se, 43, 44); + /* FirstStartTagStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode)] */ + if ( se->localPart == 47 && se->namespaceURI == 4 ) { + /* START_ELEMENT({urn:iso:15118:2:2010: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}PEVStatus)] */ - if ( se->localPart == 50 && se->namespaceURI == 4 ) { - /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}PEVStatus) */ - return _exiEncodeStartElement(stream, 0, 0, state, se, 62, 35); + /* FirstStartTagStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PEVID), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PEVStatus)] */ + if ( se->localPart == 26 && se->namespaceURI == 4 ) { + /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PEVID) */ + return _exiEncodeStartElement(stream, 1, 0, state, se, 46, 47); + } + else if ( se->localPart == 32 && se->namespaceURI == 4 ) { + /* START_ELEMENT({urn:iso:15118:2:2010: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 == 66 && se->namespaceURI == 4 ) { - /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}ResponseCode) */ - return _exiEncodeStartElement(stream, 0, 0, state, se, 81, 82); - } - break; - case 9: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}PEVStatus)] */ - if ( se->localPart == 50 && se->namespaceURI == 4 ) { - /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}PEVStatus) */ - return _exiEncodeStartElement(stream, 0, 0, state, se, 121, 35); + /* FirstStartTagStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode)] */ + if ( se->localPart == 47 && se->namespaceURI == 4 ) { + /* START_ELEMENT({urn:iso:15118:2:2010: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 == 66 && se->namespaceURI == 4 ) { - /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}ResponseCode) */ - return _exiEncodeStartElement(stream, 0, 0, state, se, 126, 127); + /* FirstStartTagStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode)] */ + if ( se->localPart == 47 && se->namespaceURI == 4 ) { + /* START_ELEMENT({urn:iso:15118:2:2010: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}PEVStatus)] */ - if ( se->localPart == 50 && se->namespaceURI == 4 ) { - /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}PEVStatus) */ - return _exiEncodeStartElement(stream, 0, 0, state, se, 131, 35); + /* FirstStartTagStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ContractID)] */ + if ( se->localPart == 1 && se->namespaceURI == 4 ) { + /* START_ELEMENT({urn:iso:15118:2:2010: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 == 66 && se->namespaceURI == 4 ) { - /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}ResponseCode) */ - return _exiEncodeStartElement(stream, 0, 0, state, se, 133, 134); + /* FirstStartTagStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode)] */ + if ( se->localPart == 47 && se->namespaceURI == 4 ) { + /* START_ELEMENT({urn:iso:15118:2:2010: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}PEVID), START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}PEVStatus)] */ - if ( se->localPart == 43 && se->namespaceURI == 4 ) { - /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}PEVID) */ - return _exiEncodeStartElement(stream, 1, 0, state, se, 136, 137); - } - else if ( se->localPart == 50 && se->namespaceURI == 4 ) { - /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}PEVStatus) */ - return _exiEncodeStartElement(stream, 1, 1, state, se, 138, 35); + /* FirstStartTagStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PEVStatus)] */ + if ( se->localPart == 32 && se->namespaceURI == 4 ) { + /* START_ELEMENT({urn:iso:15118:2:2010: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 == 66 && se->namespaceURI == 4 ) { - /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}ResponseCode) */ - return _exiEncodeStartElement(stream, 0, 0, state, se, 149, 150); + /* FirstStartTagStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode)] */ + if ( se->localPart == 47 && se->namespaceURI == 4 ) { + /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode) */ + return _exiEncodeStartElement(stream, 0, 0, state, se, 89, 90); + } + break; + case 15: + /* FirstStartTagStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PEVStatus)] */ + if ( se->localPart == 32 && se->namespaceURI == 4 ) { + /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PEVStatus) */ + return _exiEncodeStartElement(stream, 0, 0, state, se, 91, 25); } break; case 16: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}ResponseCode)] */ - if ( se->localPart == 66 && se->namespaceURI == 4 ) { - /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}ResponseCode) */ - return _exiEncodeStartElement(stream, 0, 0, state, se, 151, 152); + /* FirstStartTagStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode)] */ + if ( se->localPart == 47 && se->namespaceURI == 4 ) { + /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode) */ + return _exiEncodeStartElement(stream, 0, 0, state, se, 99, 100); } break; case 17: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}ContractID)] */ - if ( se->localPart == 9 && se->namespaceURI == 4 ) { - /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}ContractID) */ - return _exiEncodeStartElement(stream, 0, 0, state, se, 160, 161); + /* FirstStartTagStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceType), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceScope), END_ELEMENT] */ + if ( se->localPart == 58 && se->namespaceURI == 4 ) { + /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceType) */ + return _exiEncodeStartElement(stream, 2, 0, state, se, 124, 125); + } + else if ( se->localPart == 57 && se->namespaceURI == 4 ) { + /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceScope) */ + return _exiEncodeStartElement(stream, 2, 1, state, se, 126, 127); } break; case 18: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}ResponseCode)] */ - if ( se->localPart == 66 && se->namespaceURI == 4 ) { - /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}ResponseCode) */ - return _exiEncodeStartElement(stream, 0, 0, state, se, 162, 163); + /* FirstStartTagStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode)] */ + if ( se->localPart == 47 && se->namespaceURI == 4 ) { + /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode) */ + return _exiEncodeStartElement(stream, 0, 0, state, se, 128, 129); } break; case 19: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}PEVStatus)] */ - if ( se->localPart == 50 && se->namespaceURI == 4 ) { - /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}PEVStatus) */ - return _exiEncodeStartElement(stream, 0, 0, state, se, 165, 35); + /* FirstStartTagStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceList)] */ + if ( se->localPart == 52 && se->namespaceURI == 4 ) { + /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceList) */ + return _exiEncodeStartElement(stream, 0, 0, state, se, 140, 131); } break; case 20: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}ResponseCode)] */ - if ( se->localPart == 66 && se->namespaceURI == 4 ) { - /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}ResponseCode) */ - return _exiEncodeStartElement(stream, 0, 0, state, se, 168, 169); + /* FirstStartTagStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode)] */ + if ( se->localPart == 47 && se->namespaceURI == 4 ) { + /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode) */ + return _exiEncodeStartElement(stream, 0, 0, state, se, 143, 144); } break; case 21: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}PEVStatus)] */ - if ( se->localPart == 50 && se->namespaceURI == 4 ) { - /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}PEVStatus) */ - return _exiEncodeStartElement(stream, 0, 0, state, se, 171, 35); + /* FirstStartTagStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PEVID), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PEVStatus)] */ + if ( se->localPart == 26 && se->namespaceURI == 4 ) { + /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PEVID) */ + return _exiEncodeStartElement(stream, 1, 0, state, se, 146, 47); + } + else if ( se->localPart == 32 && se->namespaceURI == 4 ) { + /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PEVStatus) */ + return _exiEncodeStartElement(stream, 1, 1, state, se, 147, 25); } break; case 22: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}ResponseCode)] */ - if ( se->localPart == 66 && se->namespaceURI == 4 ) { - /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}ResponseCode) */ - return _exiEncodeStartElement(stream, 0, 0, state, se, 175, 176); + /* FirstStartTagStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode)] */ + if ( se->localPart == 47 && se->namespaceURI == 4 ) { + /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode) */ + return _exiEncodeStartElement(stream, 0, 0, state, se, 148, 149); } break; case 23: - /* 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 == 77 && se->namespaceURI == 4 ) { - /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}ServiceType) */ - return _exiEncodeStartElement(stream, 2, 0, state, se, 179, 180); - } - else if ( se->localPart == 76 && se->namespaceURI == 4 ) { - /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}ServiceScope) */ - return _exiEncodeStartElement(stream, 2, 1, state, se, 181, 182); + /* FirstStartTagStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDef}Header)] */ + if ( se->localPart == 4 && se->namespaceURI == 6 ) { + /* START_ELEMENT({urn:iso:15118:2:2010:MsgDef}Header) */ + return _exiEncodeStartElement(stream, 0, 0, state, se, 153, 154); } break; case 24: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}ResponseCode)] */ - if ( se->localPart == 66 && se->namespaceURI == 4 ) { - /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}ResponseCode) */ - return _exiEncodeStartElement(stream, 0, 0, state, se, 183, 184); + /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ReqLockStatus)] */ + if ( se->localPart == 45 && se->namespaceURI == 4 ) { + /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ReqLockStatus) */ + return _exiEncodeStartElement(stream, 0, 0, state, se, 26, 27); } break; case 25: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}ServiceList)] */ - if ( se->localPart == 71 && se->namespaceURI == 4 ) { - /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}ServiceList) */ - return _exiEncodeStartElement(stream, 0, 0, state, se, 202, 186); - } - break; - case 26: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}ResponseCode)] */ - if ( se->localPart == 66 && se->namespaceURI == 4 ) { - /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}ResponseCode) */ - return _exiEncodeStartElement(stream, 0, 0, state, se, 203, 204); - } - break; - case 27: - /* 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 == 43 && se->namespaceURI == 4 ) { - /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}PEVID) */ - return _exiEncodeStartElement(stream, 1, 0, state, se, 205, 137); - } - else if ( se->localPart == 50 && se->namespaceURI == 4 ) { - /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}PEVStatus) */ - return _exiEncodeStartElement(stream, 1, 1, state, se, 206, 35); + /* FirstStartTagStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ConnectorLocked)] */ + if ( se->localPart == 4 && se->namespaceURI == 5 ) { + /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ConnectorLocked) */ + return _exiEncodeStartElement(stream, 0, 0, state, se, 28, 27); } break; case 28: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}ResponseCode)] */ - if ( se->localPart == 66 && se->namespaceURI == 4 ) { - /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}ResponseCode) */ - return _exiEncodeStartElement(stream, 0, 0, state, se, 207, 208); - } - break; - case 29: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}PEVStatus)] */ - if ( se->localPart == 50 && se->namespaceURI == 4 ) { - /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}PEVStatus) */ - return _exiEncodeStartElement(stream, 0, 0, state, se, 212, 35); - } - break; - case 30: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}ResponseCode)] */ - if ( se->localPart == 66 && se->namespaceURI == 4 ) { - /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}ResponseCode) */ - return _exiEncodeStartElement(stream, 0, 0, state, se, 213, 214); - } - break; - case 31: - /* 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, 217, 218); + /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ChargerStandby)] */ + if ( se->localPart == 0 && se->namespaceURI == 5 ) { + /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ChargerStandby) */ + return _exiEncodeStartElement(stream, 0, 0, state, se, 29, 30); } break; case 32: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}PEVStatus)] */ - if ( se->localPart == 50 && se->namespaceURI == 4 ) { - /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}PEVStatus) */ - return _exiEncodeStartElement(stream, 0, 0, state, se, 239, 35); - } - break; - case 33: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}ResponseCode)] */ - if ( se->localPart == 66 && se->namespaceURI == 4 ) { - /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}ResponseCode) */ - return _exiEncodeStartElement(stream, 0, 0, state, se, 240, 241); + /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEStatus)] */ + if ( se->localPart == 7 && se->namespaceURI == 4 ) { + /* START_ELEMENT({urn:iso:15118:2:2010: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}ConnectorLocked)] */ - if ( se->localPart == 4 && se->namespaceURI == 5 ) { - /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}ConnectorLocked) */ + /* FirstStartTagStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}FatalError)] */ + if ( se->localPart == 12 && se->namespaceURI == 5 ) { + /* START_ELEMENT({urn:iso:15118:2:2010: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}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, 38, 39); + /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEStandby)] */ + if ( se->localPart == 7 && se->namespaceURI == 5 ) { + /* START_ELEMENT({urn:iso:15118:2:2010: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}ReadyToCharge)] */ - if ( se->localPart == 27 && se->namespaceURI == 5 ) { - /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}ReadyToCharge) */ + /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ConnectorLocked)] */ + if ( se->localPart == 4 && se->namespaceURI == 5 ) { + /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ConnectorLocked) */ + return _exiEncodeStartElement(stream, 0, 0, state, se, 39, 27); + } + break; + case 39: + /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}PowerSwitchClosed)] */ + if ( se->localPart == 23 && se->namespaceURI == 5 ) { + /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}PowerSwitchClosed) */ return _exiEncodeStartElement(stream, 0, 0, state, se, 40, 41); } break; - case 43: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}EVSEStatus)] */ - if ( se->localPart == 25 && se->namespaceURI == 4 ) { - /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}EVSEStatus) */ - return _exiEncodeStartElement(stream, 0, 0, state, se, 45, 46); + case 40: + /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}RCD)] */ + if ( se->localPart == 25 && se->namespaceURI == 5 ) { + /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}RCD) */ + return _exiEncodeStartElement(stream, 0, 0, state, se, 42, 43); + } + break; + case 42: + /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ShutDownTime)] */ + if ( se->localPart == 36 && se->namespaceURI == 5 ) { + /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ShutDownTime) */ + return _exiEncodeStartElement(stream, 0, 0, state, se, 44, 45); } break; case 46: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}FatalError)] */ - if ( se->localPart == 13 && se->namespaceURI == 5 ) { - /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}FatalError) */ - return _exiEncodeStartElement(stream, 0, 0, state, se, 47, 48); + /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PEVStatus)] */ + if ( se->localPart == 32 && se->namespaceURI == 4 ) { + /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PEVStatus) */ + return _exiEncodeStartElement(stream, 0, 0, state, se, 48, 25); } break; - case 47: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}EVSEStandby)] */ - if ( se->localPart == 8 && se->namespaceURI == 5 ) { - /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}EVSEStandby) */ - return _exiEncodeStartElement(stream, 0, 0, state, se, 49, 39); + case 48: + /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}TCurrent), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}Tariff)] */ + if ( se->localPart == 63 && se->namespaceURI == 4 ) { + /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}TCurrent) */ + return _exiEncodeStartElement(stream, 1, 0, state, se, 49, 45); + } + else if ( se->localPart == 64 && se->namespaceURI == 4 ) { + /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}Tariff) */ + return _exiEncodeStartElement(stream, 1, 1, state, se, 50, 51); } break; case 49: - /* 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, 50, 37); + /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}Tariff)] */ + if ( se->localPart == 64 && se->namespaceURI == 4 ) { + /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}Tariff) */ + return _exiEncodeStartElement(stream, 0, 0, state, se, 50, 51); } break; case 50: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}PowerSwitchClosed)] */ - if ( se->localPart == 24 && se->namespaceURI == 5 ) { - /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}PowerSwitchClosed) */ - return _exiEncodeStartElement(stream, 0, 0, state, se, 51, 52); - } - break; - case 51: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}RCD)] */ - if ( se->localPart == 26 && se->namespaceURI == 5 ) { - /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}RCD) */ - return _exiEncodeStartElement(stream, 0, 0, state, se, 53, 54); + /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}MeterInfo)] */ + if ( se->localPart == 15 && se->namespaceURI == 4 ) { + /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}MeterInfo) */ + return _exiEncodeStartElement(stream, 0, 0, state, se, 52, 53); } break; case 53: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}ShutDownTime)] */ - if ( se->localPart == 38 && se->namespaceURI == 5 ) { - /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}ShutDownTime) */ - return _exiEncodeStartElement(stream, 0, 0, state, se, 55, 56); + /* FirstStartTagStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}MeterID), 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:MsgDataTypes}TMeter), END_ELEMENT] */ + if ( se->localPart == 16 && se->namespaceURI == 5 ) { + /* START_ELEMENT({urn:iso:15118:2:2010: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: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: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:MsgDataTypes}TMeter) */ + return _exiEncodeStartElement(stream, 3, 3, state, se, 60, 45); } break; - case 55: - /* 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, 57, 39); + case 54: + /* Element[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:MsgDataTypes}TMeter), END_ELEMENT] */ + if ( se->localPart == 18 && se->namespaceURI == 5 ) { + /* START_ELEMENT({urn:iso:15118:2:2010: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: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:MsgDataTypes}TMeter) */ + return _exiEncodeStartElement(stream, 2, 2, state, se, 60, 45); + } + break; + case 56: + /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}MeterStatus), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}TMeter), END_ELEMENT] */ + if ( se->localPart == 19 && se->namespaceURI == 5 ) { + /* START_ELEMENT({urn:iso:15118:2:2010: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:MsgDataTypes}TMeter) */ + return _exiEncodeStartElement(stream, 2, 1, state, se, 60, 45); } break; case 57: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}EVSEMalfunction)] */ - if ( se->localPart == 7 && se->namespaceURI == 5 ) { - /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}EVSEMalfunction) */ - return _exiEncodeStartElement(stream, 0, 0, state, se, 58, 59); + /* FirstStartTagStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Multiplier)] */ + if ( se->localPart == 20 && se->namespaceURI == 5 ) { + /* START_ELEMENT({urn:iso:15118:2:2010: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}StopCharging)] */ - if ( se->localPart == 39 && se->namespaceURI == 5 ) { - /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}StopCharging) */ - return _exiEncodeStartElement(stream, 0, 0, state, se, 60, 61); + /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}TMeter), END_ELEMENT] */ + if ( se->localPart == 37 && se->namespaceURI == 5 ) { + /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}TMeter) */ + return _exiEncodeStartElement(stream, 1, 0, state, se, 60, 45); } break; - case 62: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}ChargingMode)] */ - if ( se->localPart == 8 && se->namespaceURI == 4 ) { - /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}ChargingMode) */ + case 61: + /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Unit)] */ + if ( se->localPart == 49 && se->namespaceURI == 5 ) { + /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Unit) */ return _exiEncodeStartElement(stream, 0, 0, state, se, 63, 64); } break; case 63: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}EoC)] */ - if ( se->localPart == 27 && se->namespaceURI == 4 ) { - /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}EoC) */ - return _exiEncodeStartElement(stream, 0, 0, state, se, 65, 56); - } - break; - case 65: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}EAmount)] */ - if ( se->localPart == 15 && se->namespaceURI == 4 ) { - /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}EAmount) */ - return _exiEncodeStartElement(stream, 0, 0, state, se, 66, 67); - } - break; - case 66: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}PEVMaxPower)] */ - if ( se->localPart == 46 && se->namespaceURI == 4 ) { - /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}PEVMaxPower) */ - return _exiEncodeStartElement(stream, 0, 0, state, se, 68, 67); - } - break; - case 67: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}Multiplier)] */ - if ( se->localPart == 21 && se->namespaceURI == 5 ) { - /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}Multiplier) */ - return _exiEncodeStartElement(stream, 0, 0, state, se, 75, 76); - } - break; - case 68: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}PEVMaxPhases)] */ - if ( se->localPart == 45 && se->namespaceURI == 4 ) { - /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}PEVMaxPhases) */ - return _exiEncodeStartElement(stream, 0, 0, state, se, 69, 70); + /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Value)] */ + if ( se->localPart == 50 && se->namespaceURI == 5 ) { + /* START_ELEMENT({urn:iso:15118:2:2010: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}PEVMaxVoltage)] */ - if ( se->localPart == 47 && se->namespaceURI == 4 ) { - /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}PEVMaxVoltage) */ - return _exiEncodeStartElement(stream, 0, 0, state, se, 71, 67); + /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEID)] */ + if ( se->localPart == 3 && se->namespaceURI == 4 ) { + /* START_ELEMENT({urn:iso:15118:2:2010: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}PEVMinVoltage)] */ - if ( se->localPart == 49 && se->namespaceURI == 4 ) { - /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}PEVMinVoltage) */ - return _exiEncodeStartElement(stream, 0, 0, state, se, 72, 67); - } - break; - case 72: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}PEVMaxCurrent)] */ - if ( se->localPart == 44 && se->namespaceURI == 4 ) { - /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}PEVMaxCurrent) */ - return _exiEncodeStartElement(stream, 0, 0, state, se, 73, 67); + /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEStatus)] */ + if ( se->localPart == 7 && se->namespaceURI == 4 ) { + /* START_ELEMENT({urn:iso:15118:2:2010: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}PEVMinCurrent)] */ - if ( se->localPart == 48 && se->namespaceURI == 4 ) { - /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}PEVMinCurrent) */ - return _exiEncodeStartElement(stream, 0, 0, state, se, 74, 67); + /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}TCurrent)] */ + if ( se->localPart == 63 && se->namespaceURI == 4 ) { + /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}TCurrent) */ + return _exiEncodeStartElement(stream, 0, 0, state, se, 74, 45); + } + break; + case 74: + /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEMaxPower)] */ + if ( se->localPart == 6 && se->namespaceURI == 4 ) { + /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEMaxPower) */ + return _exiEncodeStartElement(stream, 0, 0, state, se, 75, 57); } break; case 75: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}Unit)] */ - if ( se->localPart == 52 && se->namespaceURI == 5 ) { - /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}Unit) */ - return _exiEncodeStartElement(stream, 0, 0, state, se, 77, 78); - } - break; - case 77: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}Value)] */ - if ( se->localPart == 53 && se->namespaceURI == 5 ) { - /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}Value) */ - return _exiEncodeStartElement(stream, 0, 0, state, se, 79, 80); - } - break; - case 81: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}EVSEStatus)] */ + /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PCurrent), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}MeterInfo), END_ELEMENT] */ if ( se->localPart == 25 && se->namespaceURI == 4 ) { - /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}EVSEStatus) */ - return _exiEncodeStartElement(stream, 0, 0, state, se, 83, 46); + /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PCurrent) */ + return _exiEncodeStartElement(stream, 2, 0, state, se, 76, 57); + } + else if ( se->localPart == 15 && se->namespaceURI == 4 ) { + /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}MeterInfo) */ + return _exiEncodeStartElement(stream, 2, 1, state, se, 77, 53); + } + break; + case 76: + /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}MeterInfo), END_ELEMENT] */ + if ( se->localPart == 15 && se->namespaceURI == 4 ) { + /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}MeterInfo) */ + return _exiEncodeStartElement(stream, 1, 0, state, se, 77, 53); + } + break; + case 82: + /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ReqSwitchStatus)] */ + if ( se->localPart == 46 && se->namespaceURI == 4 ) { + /* START_ELEMENT({urn:iso:15118:2:2010: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}EVSEMaxVoltage)] */ - if ( se->localPart == 20 && se->namespaceURI == 4 ) { - /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}EVSEMaxVoltage) */ - return _exiEncodeStartElement(stream, 0, 0, state, se, 84, 67); + /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}Tariff), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ChargingProfile), END_ELEMENT] */ + if ( se->localPart == 64 && se->namespaceURI == 4 ) { + /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}Tariff) */ + return _exiEncodeStartElement(stream, 2, 0, state, se, 84, 51); + } + else if ( se->localPart == 0 && se->namespaceURI == 4 ) { + /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ChargingProfile) */ + return _exiEncodeStartElement(stream, 2, 1, state, se, 85, 86); } break; case 84: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}EVSEMinVoltage)] */ - if ( se->localPart == 22 && se->namespaceURI == 4 ) { - /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}EVSEMinVoltage) */ - return _exiEncodeStartElement(stream, 0, 0, state, se, 85, 67); - } - break; - case 85: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}EVSEMaxCurrent)] */ - if ( se->localPart == 17 && se->namespaceURI == 4 ) { - /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}EVSEMaxCurrent) */ - return _exiEncodeStartElement(stream, 0, 0, state, se, 86, 67); + /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ChargingProfile), END_ELEMENT] */ + if ( se->localPart == 0 && se->namespaceURI == 4 ) { + /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ChargingProfile) */ + return _exiEncodeStartElement(stream, 1, 0, state, se, 85, 86); } break; case 86: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}EVSEMinCurrent)] */ - if ( se->localPart == 21 && se->namespaceURI == 4 ) { - /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}EVSEMinCurrent) */ - return _exiEncodeStartElement(stream, 0, 0, state, se, 87, 67); + /* FirstStartTagStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ChargingProfileEntryStart)] */ + if ( se->localPart == 2 && se->namespaceURI == 5 ) { + /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ChargingProfileEntryStart) */ + return _exiEncodeStartElement(stream, 0, 0, state, se, 87, 45); } break; case 87: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}EVSEMaxPhases)] */ - if ( se->localPart == 18 && se->namespaceURI == 4 ) { - /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}EVSEMaxPhases) */ - return _exiEncodeStartElement(stream, 0, 0, state, se, 88, 70); + /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ChargingProfileEntryMaxPower)] */ + if ( se->localPart == 1 && se->namespaceURI == 5 ) { + /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ChargingProfileEntryMaxPower) */ + return _exiEncodeStartElement(stream, 0, 0, state, se, 88, 57); } break; - case 88: - /* 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 == 26 && se->namespaceURI == 4 ) { - /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}EnergyProvider) */ - return _exiEncodeStartElement(stream, 2, 0, state, se, 89, 90); - } - else if ( se->localPart == 84 && se->namespaceURI == 4 ) { - /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}TariffTable) */ - return _exiEncodeStartElement(stream, 2, 1, state, se, 91, 92); - } - break; - case 89: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}TariffTable), END_ELEMENT] */ - if ( se->localPart == 84 && se->namespaceURI == 4 ) { - /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}TariffTable) */ - return _exiEncodeStartElement(stream, 1, 0, state, se, 91, 92); + case 91: + /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EoC)] */ + if ( se->localPart == 10 && se->namespaceURI == 4 ) { + /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EoC) */ + return _exiEncodeStartElement(stream, 0, 0, state, se, 92, 45); } break; case 92: - /* 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, 93, 94); + /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EAmount)] */ + if ( se->localPart == 2 && se->namespaceURI == 4 ) { + /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EAmount) */ + return _exiEncodeStartElement(stream, 0, 0, state, se, 93, 57); } break; case 93: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}Tariff)] */ - if ( se->localPart == 41 && se->namespaceURI == 5 ) { - /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}Tariff) */ + /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PEVMaxPower)] */ + if ( se->localPart == 28 && se->namespaceURI == 4 ) { + /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PEVMaxPower) */ + return _exiEncodeStartElement(stream, 0, 0, state, se, 94, 57); + } + break; + case 94: + /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PEVMaxPhases)] */ + if ( se->localPart == 27 && se->namespaceURI == 4 ) { + /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PEVMaxPhases) */ return _exiEncodeStartElement(stream, 0, 0, state, se, 95, 96); } break; case 95: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}Tariff), END_ELEMENT] */ - if ( se->localPart == 41 && se->namespaceURI == 5 ) { - /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}Tariff) */ - return _exiEncodeStartElement(stream, 1, 0, state, se, 97, 96); - } - break; - case 96: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}TariffID)] */ - if ( se->localPart == 48 && se->namespaceURI == 5 ) { - /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}TariffID) */ - return _exiEncodeStartElement(stream, 0, 0, state, se, 102, 103); + /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PEVMaxVoltage)] */ + if ( se->localPart == 29 && se->namespaceURI == 4 ) { + /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PEVMaxVoltage) */ + return _exiEncodeStartElement(stream, 0, 0, state, se, 97, 57); } break; case 97: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}Tariff), END_ELEMENT] */ - if ( se->localPart == 41 && se->namespaceURI == 5 ) { - /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}Tariff) */ - return _exiEncodeStartElement(stream, 1, 0, state, se, 98, 96); - } - break; - case 98: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}Tariff), END_ELEMENT] */ - if ( se->localPart == 41 && se->namespaceURI == 5 ) { - /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}Tariff) */ - return _exiEncodeStartElement(stream, 1, 0, state, se, 99, 96); + /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PEVMinVoltage)] */ + if ( se->localPart == 30 && se->namespaceURI == 4 ) { + /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PEVMinVoltage) */ + return _exiEncodeStartElement(stream, 0, 0, state, se, 98, 57); } break; case 99: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}Tariff), END_ELEMENT] */ - if ( se->localPart == 41 && se->namespaceURI == 5 ) { - /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}Tariff) */ - return _exiEncodeStartElement(stream, 1, 0, state, se, 100, 96); + /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEStatus)] */ + if ( se->localPart == 7 && se->namespaceURI == 4 ) { + /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEStatus) */ + return _exiEncodeStartElement(stream, 0, 0, state, se, 101, 35); } break; - case 100: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}Tariff), END_ELEMENT] */ - if ( se->localPart == 41 && se->namespaceURI == 5 ) { - /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}Tariff) */ - return _exiEncodeStartElement(stream, 1, 0, state, se, 101, 96); + case 101: + /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEVoltage)] */ + if ( se->localPart == 8 && se->namespaceURI == 4 ) { + /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEVoltage) */ + return _exiEncodeStartElement(stream, 0, 0, state, se, 102, 57); } break; case 102: - /* 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 == 43 && se->namespaceURI == 5 ) { - /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}TariffDescription) */ - return _exiEncodeStartElement(stream, 1, 0, state, se, 104, 105); + /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEIMax)] */ + if ( se->localPart == 4 && se->namespaceURI == 4 ) { + /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEIMax) */ + return _exiEncodeStartElement(stream, 0, 0, state, se, 103, 57); } - else if ( se->localPart == 44 && se->namespaceURI == 5 ) { - /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}TariffEntries) */ - return _exiEncodeStartElement(stream, 1, 1, state, se, 106, 107); + break; + case 103: + /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEMaxPhases)] */ + if ( se->localPart == 5 && se->namespaceURI == 4 ) { + /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEMaxPhases) */ + return _exiEncodeStartElement(stream, 0, 0, state, se, 104, 96); } break; case 104: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}TariffEntries)] */ - if ( se->localPart == 44 && se->namespaceURI == 5 ) { - /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}TariffEntries) */ - return _exiEncodeStartElement(stream, 0, 0, state, se, 106, 107); + /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EnergyProvider), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}TariffTable), END_ELEMENT] */ + if ( se->localPart == 9 && se->namespaceURI == 4 ) { + /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EnergyProvider) */ + return _exiEncodeStartElement(stream, 2, 0, state, se, 105, 106); + } + else if ( se->localPart == 65 && se->namespaceURI == 4 ) { + /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}TariffTable) */ + return _exiEncodeStartElement(stream, 2, 1, state, se, 107, 108); } break; - case 107: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}TariffEntry)] */ - if ( se->localPart == 46 && se->namespaceURI == 5 ) { - /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}TariffEntry) */ - return _exiEncodeStartElement(stream, 0, 0, state, se, 108, 109); + case 105: + /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}TariffTable), END_ELEMENT] */ + if ( se->localPart == 65 && se->namespaceURI == 4 ) { + /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}TariffTable) */ + return _exiEncodeStartElement(stream, 1, 0, state, se, 107, 108); } break; case 108: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}TariffEntry), END_ELEMENT] */ - if ( se->localPart == 46 && se->namespaceURI == 5 ) { - /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}TariffEntry) */ - return _exiEncodeStartElement(stream, 1, 0, state, se, 110, 109); + /* FirstStartTagStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Currency)] */ + if ( se->localPart == 5 && se->namespaceURI == 5 ) { + /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Currency) */ + return _exiEncodeStartElement(stream, 0, 0, state, se, 109, 110); } break; case 109: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}TariffStart)] */ - if ( se->localPart == 50 && se->namespaceURI == 5 ) { - /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}TariffStart) */ - return _exiEncodeStartElement(stream, 0, 0, state, se, 117, 118); - } - break; - case 110: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}TariffEntry), END_ELEMENT] */ - if ( se->localPart == 46 && se->namespaceURI == 5 ) { - /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}TariffEntry) */ - return _exiEncodeStartElement(stream, 1, 0, state, se, 111, 109); + /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Tariff)] */ + if ( se->localPart == 38 && se->namespaceURI == 5 ) { + /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Tariff) */ + return _exiEncodeStartElement(stream, 0, 0, state, se, 111, 112); } break; case 111: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}TariffEntry), END_ELEMENT] */ - if ( se->localPart == 46 && se->namespaceURI == 5 ) { - /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}TariffEntry) */ - return _exiEncodeStartElement(stream, 1, 0, state, se, 112, 109); + /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Tariff), END_ELEMENT] */ + if ( se->localPart == 38 && se->namespaceURI == 5 ) { + /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Tariff) */ + return _exiEncodeStartElement(stream, 1, 0, state, se, 111, 112); } break; case 112: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}TariffEntry), END_ELEMENT] */ - if ( se->localPart == 46 && se->namespaceURI == 5 ) { - /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}TariffEntry) */ - return _exiEncodeStartElement(stream, 1, 0, state, se, 113, 109); + /* FirstStartTagStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}TariffID)] */ + if ( se->localPart == 45 && se->namespaceURI == 5 ) { + /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}TariffID) */ + return _exiEncodeStartElement(stream, 0, 0, state, se, 113, 51); } break; case 113: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}TariffEntry), END_ELEMENT] */ - if ( se->localPart == 46 && se->namespaceURI == 5 ) { - /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}TariffEntry) */ - return _exiEncodeStartElement(stream, 1, 0, state, se, 114, 109); + /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}TariffDescription), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}TariffEntries)] */ + if ( se->localPart == 40 && se->namespaceURI == 5 ) { + /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}TariffDescription) */ + return _exiEncodeStartElement(stream, 1, 0, state, se, 114, 115); + } + else if ( se->localPart == 41 && se->namespaceURI == 5 ) { + /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}TariffEntries) */ + return _exiEncodeStartElement(stream, 1, 1, state, se, 116, 117); } break; case 114: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}TariffEntry), END_ELEMENT] */ - if ( se->localPart == 46 && se->namespaceURI == 5 ) { - /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}TariffEntry) */ - return _exiEncodeStartElement(stream, 1, 0, state, se, 115, 109); - } - break; - case 115: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}TariffEntry), END_ELEMENT] */ - if ( se->localPart == 46 && se->namespaceURI == 5 ) { - /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}TariffEntry) */ - return _exiEncodeStartElement(stream, 1, 0, state, se, 116, 109); + /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}TariffEntries)] */ + if ( se->localPart == 41 && se->namespaceURI == 5 ) { + /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}TariffEntries) */ + return _exiEncodeStartElement(stream, 0, 0, state, se, 116, 117); } break; case 117: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}TariffPMax)] */ - if ( se->localPart == 49 && se->namespaceURI == 5 ) { - /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}TariffPMax) */ - return _exiEncodeStartElement(stream, 0, 0, state, se, 119, 67); + /* FirstStartTagStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}TariffEntry)] */ + if ( se->localPart == 43 && se->namespaceURI == 5 ) { + /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}TariffEntry) */ + return _exiEncodeStartElement(stream, 0, 0, state, se, 118, 119); + } + break; + case 118: + /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}TariffEntry), END_ELEMENT] */ + if ( se->localPart == 43 && se->namespaceURI == 5 ) { + /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}TariffEntry) */ + return _exiEncodeStartElement(stream, 1, 0, state, se, 118, 119); } break; case 119: - /* 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, 120, 67); + /* FirstStartTagStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}TariffStart)] */ + if ( se->localPart == 47 && se->namespaceURI == 5 ) { + /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}TariffStart) */ + return _exiEncodeStartElement(stream, 0, 0, state, se, 120, 121); } break; - case 121: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}PEVTargetVoltage)] */ - if ( se->localPart == 51 && se->namespaceURI == 4 ) { - /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}PEVTargetVoltage) */ - return _exiEncodeStartElement(stream, 0, 0, state, se, 122, 67); + case 120: + /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}TariffPMax)] */ + if ( se->localPart == 46 && se->namespaceURI == 5 ) { + /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}TariffPMax) */ + return _exiEncodeStartElement(stream, 0, 0, state, se, 122, 57); } break; case 122: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}PEVDemandCurrent)] */ - if ( se->localPart == 42 && se->namespaceURI == 4 ) { - /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}PEVDemandCurrent) */ - return _exiEncodeStartElement(stream, 0, 0, state, se, 123, 67); - } - break; - case 123: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}CurrentDifferential)] */ - if ( se->localPart == 14 && se->namespaceURI == 4 ) { - /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}CurrentDifferential) */ - return _exiEncodeStartElement(stream, 0, 0, state, se, 124, 67); + /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EPrice), END_ELEMENT] */ + if ( se->localPart == 6 && se->namespaceURI == 5 ) { + /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EPrice) */ + return _exiEncodeStartElement(stream, 1, 0, state, se, 123, 57); } break; case 124: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}VoltageDifferential)] */ - if ( se->localPart == 89 && se->namespaceURI == 4 ) { - /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}VoltageDifferential) */ - return _exiEncodeStartElement(stream, 0, 0, state, se, 125, 67); - } - break; - case 126: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}EVSEStatus)] */ - if ( se->localPart == 25 && se->namespaceURI == 4 ) { - /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}EVSEStatus) */ - return _exiEncodeStartElement(stream, 0, 0, state, se, 128, 46); + /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceScope), END_ELEMENT] */ + if ( se->localPart == 57 && se->namespaceURI == 4 ) { + /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceScope) */ + return _exiEncodeStartElement(stream, 1, 0, state, se, 126, 127); } break; case 128: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}EVSEPresentVoltage)] */ - if ( se->localPart == 24 && se->namespaceURI == 4 ) { - /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}EVSEPresentVoltage) */ - return _exiEncodeStartElement(stream, 0, 0, state, se, 129, 67); - } - break; - case 129: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}EVSEPresentCurrent)] */ - if ( se->localPart == 23 && se->namespaceURI == 4 ) { - /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}EVSEPresentCurrent) */ - return _exiEncodeStartElement(stream, 0, 0, state, se, 130, 67); + /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceList), END_ELEMENT] */ + if ( se->localPart == 52 && se->namespaceURI == 4 ) { + /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceList) */ + return _exiEncodeStartElement(stream, 1, 0, state, se, 130, 131); } break; case 131: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}ReqLockStatus)] */ - if ( se->localPart == 64 && se->namespaceURI == 4 ) { - /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}ReqLockStatus) */ - return _exiEncodeStartElement(stream, 0, 0, state, se, 132, 37); + /* FirstStartTagStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Service)] */ + if ( se->localPart == 26 && se->namespaceURI == 5 ) { + /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Service) */ + return _exiEncodeStartElement(stream, 0, 0, state, se, 132, 133); + } + break; + case 132: + /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Service), END_ELEMENT] */ + if ( se->localPart == 26 && se->namespaceURI == 5 ) { + /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Service) */ + return _exiEncodeStartElement(stream, 1, 0, state, se, 132, 133); } break; case 133: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}EVSEStatus)] */ - if ( se->localPart == 25 && se->namespaceURI == 4 ) { - /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}EVSEStatus) */ - return _exiEncodeStartElement(stream, 0, 0, state, se, 135, 46); + /* FirstStartTagStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceID)] */ + if ( se->localPart == 28 && se->namespaceURI == 5 ) { + /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceID) */ + return _exiEncodeStartElement(stream, 0, 0, state, se, 134, 135); + } + break; + case 134: + /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceName), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceType), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceScope), END_ELEMENT] */ + if ( se->localPart == 30 && se->namespaceURI == 5 ) { + /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceName) */ + return _exiEncodeStartElement(stream, 2, 0, state, se, 136, 137); + } + else if ( se->localPart == 33 && se->namespaceURI == 5 ) { + /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceType) */ + return _exiEncodeStartElement(stream, 2, 1, state, se, 138, 125); + } + else if ( se->localPart == 31 && se->namespaceURI == 5 ) { + /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceScope) */ + return _exiEncodeStartElement(stream, 2, 2, state, se, 139, 127); } break; case 136: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}PEVStatus)] */ - if ( se->localPart == 50 && se->namespaceURI == 4 ) { - /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}PEVStatus) */ - return _exiEncodeStartElement(stream, 0, 0, state, se, 138, 35); + /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceType), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceScope), END_ELEMENT] */ + if ( se->localPart == 33 && se->namespaceURI == 5 ) { + /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceType) */ + return _exiEncodeStartElement(stream, 2, 0, state, se, 138, 125); + } + else if ( se->localPart == 31 && se->namespaceURI == 5 ) { + /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceScope) */ + return _exiEncodeStartElement(stream, 2, 1, state, se, 139, 127); } break; case 138: - /* 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 == 82 && se->namespaceURI == 4 ) { - /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}TCurrent) */ - return _exiEncodeStartElement(stream, 1, 0, state, se, 139, 56); - } - else if ( se->localPart == 83 && se->namespaceURI == 4 ) { - /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}Tariff) */ - return _exiEncodeStartElement(stream, 1, 1, state, se, 140, 103); - } - break; - case 139: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}Tariff)] */ - if ( se->localPart == 83 && se->namespaceURI == 4 ) { - /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}Tariff) */ - return _exiEncodeStartElement(stream, 0, 0, state, se, 140, 103); + /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceScope), END_ELEMENT] */ + if ( se->localPart == 31 && se->namespaceURI == 5 ) { + /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceScope) */ + return _exiEncodeStartElement(stream, 1, 0, state, se, 139, 127); } break; case 140: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}MeterInfo)] */ - if ( se->localPart == 32 && se->namespaceURI == 4 ) { - /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}MeterInfo) */ + /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PEVPubKey)] */ + if ( se->localPart == 31 && se->namespaceURI == 4 ) { + /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PEVPubKey) */ return _exiEncodeStartElement(stream, 0, 0, state, se, 141, 142); } break; - case 142: - /* 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 == 17 && se->namespaceURI == 5 ) { - /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}MeterID) */ - return _exiEncodeStartElement(stream, 3, 0, state, se, 143, 144); - } - else if ( se->localPart == 19 && se->namespaceURI == 5 ) { - /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}MeterReading) */ - return _exiEncodeStartElement(stream, 3, 1, state, se, 145, 67); - } - else if ( se->localPart == 20 && se->namespaceURI == 5 ) { - /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}MeterStatus) */ - return _exiEncodeStartElement(stream, 3, 2, state, se, 146, 147); - } - else if ( se->localPart == 40 && se->namespaceURI == 5 ) { - /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}TMeter) */ - return _exiEncodeStartElement(stream, 3, 3, state, se, 148, 56); - } - break; case 143: - /* 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 == 19 && se->namespaceURI == 5 ) { - /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}MeterReading) */ - return _exiEncodeStartElement(stream, 2, 0, state, se, 145, 67); - } - else if ( se->localPart == 20 && se->namespaceURI == 5 ) { - /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}MeterStatus) */ - return _exiEncodeStartElement(stream, 2, 1, state, se, 146, 147); - } - else if ( se->localPart == 40 && se->namespaceURI == 5 ) { - /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}TMeter) */ - return _exiEncodeStartElement(stream, 2, 2, state, se, 148, 56); - } - break; - case 145: - /* 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 == 20 && se->namespaceURI == 5 ) { - /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}MeterStatus) */ - return _exiEncodeStartElement(stream, 2, 0, state, se, 146, 147); - } - else if ( se->localPart == 40 && se->namespaceURI == 5 ) { - /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}TMeter) */ - return _exiEncodeStartElement(stream, 2, 1, state, se, 148, 56); + /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}MeteringAuthPubKey), END_ELEMENT] */ + if ( se->localPart == 16 && se->namespaceURI == 4 ) { + /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}MeteringAuthPubKey) */ + return _exiEncodeStartElement(stream, 1, 0, state, se, 145, 142); } break; case 146: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}TMeter), END_ELEMENT] */ - if ( se->localPart == 40 && se->namespaceURI == 5 ) { - /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}TMeter) */ - return _exiEncodeStartElement(stream, 1, 0, state, se, 148, 56); + /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PEVStatus)] */ + if ( se->localPart == 32 && se->namespaceURI == 4 ) { + /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PEVStatus) */ + return _exiEncodeStartElement(stream, 0, 0, state, se, 147, 25); + } + break; + case 148: + /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEID)] */ + if ( se->localPart == 3 && se->namespaceURI == 4 ) { + /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEID) */ + return _exiEncodeStartElement(stream, 0, 0, state, se, 150, 72); + } + break; + case 150: + /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEStatus)] */ + if ( se->localPart == 7 && se->namespaceURI == 4 ) { + /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEStatus) */ + return _exiEncodeStartElement(stream, 0, 0, state, se, 151, 35); } break; case 151: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}EVSEID)] */ - if ( se->localPart == 16 && se->namespaceURI == 4 ) { - /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}EVSEID) */ - return _exiEncodeStartElement(stream, 0, 0, state, se, 153, 154); + /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}TCurrent)] */ + if ( se->localPart == 63 && se->namespaceURI == 4 ) { + /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}TCurrent) */ + return _exiEncodeStartElement(stream, 0, 0, state, se, 152, 45); } break; case 153: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}EVSEStatus)] */ - if ( se->localPart == 25 && se->namespaceURI == 4 ) { - /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}EVSEStatus) */ - return _exiEncodeStartElement(stream, 0, 0, state, se, 155, 46); + /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDef}Body)] */ + if ( se->localPart == 0 && se->namespaceURI == 6 ) { + /* START_ELEMENT({urn:iso:15118:2:2010:MsgDef}Body) */ + return _exiEncodeStartElement(stream, 0, 0, state, se, 155, 156); } break; - case 155: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}TCurrent)] */ - if ( se->localPart == 82 && se->namespaceURI == 4 ) { - /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}TCurrent) */ - return _exiEncodeStartElement(stream, 0, 0, state, se, 156, 56); + case 154: + /* FirstStartTagStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDef}SessionInformation)] */ + if ( se->localPart == 7 && se->namespaceURI == 6 ) { + /* START_ELEMENT({urn:iso:15118:2:2010:MsgDef}SessionInformation) */ + return _exiEncodeStartElement(stream, 0, 0, state, se, 157, 158); } break; case 156: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}EVSEMaxPower)] */ - if ( se->localPart == 19 && se->namespaceURI == 4 ) { - /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}EVSEMaxPower) */ - return _exiEncodeStartElement(stream, 0, 0, state, se, 157, 67); + /* FirstStartTagStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDef}BodyElement), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}LineLockReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}LineLockRes), 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}MeteringStatusReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}MeteringStatusRes), 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}PowerDiscoveryReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PowerDiscoveryRes), 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), END_ELEMENT] */ + if ( se->localPart == 2 && se->namespaceURI == 6 ) { + /* START_ELEMENT({urn:iso:15118:2:2010:MsgDef}BodyElement) */ + return _exiEncodeStartElement(stream, 5, 0, state, se, 174, 3); + } + else if ( se->localPart == 11 && se->namespaceURI == 4 ) { + /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}LineLockReq) */ + return _exiEncodeStartElement(stream, 5, 1, state, se, 174, 5); + } + else if ( se->localPart == 13 && se->namespaceURI == 4 ) { + /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}LineLockRes) */ + return _exiEncodeStartElement(stream, 5, 2, state, se, 174, 6); + } + else if ( se->localPart == 17 && se->namespaceURI == 4 ) { + /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}MeteringReceiptReq) */ + return _exiEncodeStartElement(stream, 5, 3, state, se, 174, 7); + } + else if ( se->localPart == 19 && se->namespaceURI == 4 ) { + /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}MeteringReceiptRes) */ + return _exiEncodeStartElement(stream, 5, 4, state, se, 174, 8); + } + else if ( se->localPart == 21 && se->namespaceURI == 4 ) { + /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}MeteringStatusReq) */ + return _exiEncodeStartElement(stream, 5, 5, state, se, 174, 9); + } + else if ( se->localPart == 23 && se->namespaceURI == 4 ) { + /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}MeteringStatusRes) */ + return _exiEncodeStartElement(stream, 5, 6, state, se, 174, 10); + } + else if ( se->localPart == 33 && se->namespaceURI == 4 ) { + /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PaymentDetailsReq) */ + return _exiEncodeStartElement(stream, 5, 7, state, se, 174, 11); + } + else if ( se->localPart == 35 && se->namespaceURI == 4 ) { + /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PaymentDetailsRes) */ + return _exiEncodeStartElement(stream, 5, 8, state, se, 174, 12); + } + else if ( se->localPart == 37 && se->namespaceURI == 4 ) { + /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PowerDeliveryReq) */ + return _exiEncodeStartElement(stream, 5, 9, state, se, 174, 13); + } + else if ( se->localPart == 39 && se->namespaceURI == 4 ) { + /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PowerDeliveryRes) */ + return _exiEncodeStartElement(stream, 5, 10, state, se, 174, 14); + } + else if ( se->localPart == 41 && se->namespaceURI == 4 ) { + /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PowerDiscoveryReq) */ + return _exiEncodeStartElement(stream, 5, 11, state, se, 174, 15); + } + else if ( se->localPart == 43 && se->namespaceURI == 4 ) { + /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PowerDiscoveryRes) */ + return _exiEncodeStartElement(stream, 5, 12, state, se, 174, 16); + } + else if ( se->localPart == 48 && se->namespaceURI == 4 ) { + /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceDiscoveryReq) */ + return _exiEncodeStartElement(stream, 5, 13, state, se, 174, 17); + } + else if ( se->localPart == 50 && se->namespaceURI == 4 ) { + /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceDiscoveryRes) */ + return _exiEncodeStartElement(stream, 5, 14, state, se, 174, 18); + } + else if ( se->localPart == 53 && se->namespaceURI == 4 ) { + /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServicePaymentSelectionReq) */ + return _exiEncodeStartElement(stream, 5, 15, state, se, 174, 19); + } + else if ( se->localPart == 55 && se->namespaceURI == 4 ) { + /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServicePaymentSelectionRes) */ + return _exiEncodeStartElement(stream, 5, 16, state, se, 174, 20); + } + else if ( se->localPart == 59 && se->namespaceURI == 4 ) { + /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}SessionSetupReq) */ + return _exiEncodeStartElement(stream, 5, 17, state, se, 174, 21); + } + else if ( se->localPart == 61 && se->namespaceURI == 4 ) { + /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}SessionSetupRes) */ + return _exiEncodeStartElement(stream, 5, 18, state, se, 174, 22); } break; case 157: - /* 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 == 41 && se->namespaceURI == 4 ) { - /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}PCurrent) */ - return _exiEncodeStartElement(stream, 2, 0, state, se, 158, 67); - } - else if ( se->localPart == 32 && se->namespaceURI == 4 ) { - /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}MeterInfo) */ - return _exiEncodeStartElement(stream, 2, 1, state, se, 159, 142); + /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDef}Notification), END_ELEMENT] */ + if ( se->localPart == 6 && se->namespaceURI == 6 ) { + /* START_ELEMENT({urn:iso:15118:2:2010:MsgDef}Notification) */ + return _exiEncodeStartElement(stream, 1, 0, state, se, 159, 160); } break; case 158: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}MeterInfo), END_ELEMENT] */ - if ( se->localPart == 32 && se->namespaceURI == 4 ) { - /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}MeterInfo) */ - return _exiEncodeStartElement(stream, 1, 0, state, se, 159, 142); + /* FirstStartTagStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SessionID)] */ + if ( se->localPart == 34 && se->namespaceURI == 5 ) { + /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SessionID) */ + return _exiEncodeStartElement(stream, 0, 0, state, se, 161, 162); } break; - case 162: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}TCurrent)] */ - if ( se->localPart == 82 && se->namespaceURI == 4 ) { - /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}TCurrent) */ - return _exiEncodeStartElement(stream, 0, 0, state, se, 164, 56); + case 160: + /* FirstStartTagStartTag[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}EventList), END_ELEMENT] */ + if ( se->localPart == 13 && se->namespaceURI == 5 ) { + /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}FaultCode) */ + return _exiEncodeStartElement(stream, 2, 0, state, se, 166, 167); + } + else if ( se->localPart == 14 && se->namespaceURI == 5 ) { + /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}FaultMsg) */ + return _exiEncodeStartElement(stream, 2, 1, state, se, 168, 169); + } + else if ( se->localPart == 10 && se->namespaceURI == 5 ) { + /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EventList) */ + return _exiEncodeStartElement(stream, 2, 2, state, se, 170, 171); } break; - case 165: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}ReqSwitchStatus)] */ - if ( se->localPart == 65 && se->namespaceURI == 4 ) { - /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}ReqSwitchStatus) */ - return _exiEncodeStartElement(stream, 0, 0, state, se, 166, 52); + case 161: + /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceSessionID), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ProtocolVersion), END_ELEMENT] */ + if ( se->localPart == 32 && se->namespaceURI == 5 ) { + /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceSessionID) */ + return _exiEncodeStartElement(stream, 2, 0, state, se, 163, 162); + } + else if ( se->localPart == 24 && se->namespaceURI == 5 ) { + /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ProtocolVersion) */ + return _exiEncodeStartElement(stream, 2, 1, state, se, 164, 165); + } + break; + case 163: + /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ProtocolVersion), END_ELEMENT] */ + if ( se->localPart == 24 && se->namespaceURI == 5 ) { + /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ProtocolVersion) */ + return _exiEncodeStartElement(stream, 1, 0, state, se, 164, 165); } break; case 166: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}Tariff), END_ELEMENT] */ - if ( se->localPart == 83 && se->namespaceURI == 4 ) { - /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}Tariff) */ - return _exiEncodeStartElement(stream, 1, 0, state, se, 167, 103); + /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}FaultMsg), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EventList), END_ELEMENT] */ + if ( se->localPart == 14 && se->namespaceURI == 5 ) { + /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}FaultMsg) */ + return _exiEncodeStartElement(stream, 2, 0, state, se, 168, 169); + } + else if ( se->localPart == 10 && se->namespaceURI == 5 ) { + /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EventList) */ + return _exiEncodeStartElement(stream, 2, 1, state, se, 170, 171); } break; case 168: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}EVSEStatus)] */ - if ( se->localPart == 25 && se->namespaceURI == 4 ) { - /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}EVSEStatus) */ - return _exiEncodeStartElement(stream, 0, 0, state, se, 170, 46); + /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EventList), END_ELEMENT] */ + if ( se->localPart == 10 && se->namespaceURI == 5 ) { + /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EventList) */ + return _exiEncodeStartElement(stream, 1, 0, state, se, 170, 171); } break; case 171: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}PEVTargetVoltage)] */ - if ( se->localPart == 51 && se->namespaceURI == 4 ) { - /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}PEVTargetVoltage) */ - return _exiEncodeStartElement(stream, 0, 0, state, se, 172, 67); - } - break; - case 172: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}PEVDemandCurrent)] */ - if ( se->localPart == 42 && se->namespaceURI == 4 ) { - /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}PEVDemandCurrent) */ - return _exiEncodeStartElement(stream, 0, 0, state, se, 173, 67); - } - break; - case 173: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}VoltageDifferential)] */ - if ( se->localPart == 89 && se->namespaceURI == 4 ) { - /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}VoltageDifferential) */ - return _exiEncodeStartElement(stream, 0, 0, state, se, 174, 67); - } - break; - case 175: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}EVSEStatus)] */ - if ( se->localPart == 25 && se->namespaceURI == 4 ) { - /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}EVSEStatus) */ - return _exiEncodeStartElement(stream, 0, 0, state, se, 177, 46); - } - break; - case 177: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}EVSEPresentVoltage)] */ - if ( se->localPart == 24 && se->namespaceURI == 4 ) { - /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}EVSEPresentVoltage) */ - return _exiEncodeStartElement(stream, 0, 0, state, se, 178, 67); - } - break; - case 179: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}ServiceScope), END_ELEMENT] */ - if ( se->localPart == 76 && se->namespaceURI == 4 ) { - /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}ServiceScope) */ - return _exiEncodeStartElement(stream, 1, 0, state, se, 181, 182); - } - break; - case 183: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}ServiceList), END_ELEMENT] */ - if ( se->localPart == 71 && se->namespaceURI == 4 ) { - /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}ServiceList) */ - return _exiEncodeStartElement(stream, 1, 0, state, se, 185, 186); - } - break; - case 186: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}Service)] */ - if ( se->localPart == 28 && se->namespaceURI == 5 ) { - /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}Service) */ - return _exiEncodeStartElement(stream, 0, 0, state, se, 187, 188); - } - break; - case 187: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}Service), END_ELEMENT] */ - if ( se->localPart == 28 && se->namespaceURI == 5 ) { - /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}Service) */ - return _exiEncodeStartElement(stream, 1, 0, state, se, 189, 188); - } - break; - case 188: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}ServiceID)] */ - if ( se->localPart == 30 && se->namespaceURI == 5 ) { - /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}ServiceID) */ - return _exiEncodeStartElement(stream, 0, 0, state, se, 196, 197); - } - break; - case 189: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}Service), END_ELEMENT] */ - if ( se->localPart == 28 && se->namespaceURI == 5 ) { - /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}Service) */ - return _exiEncodeStartElement(stream, 1, 0, state, se, 190, 188); - } - break; - case 190: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}Service), END_ELEMENT] */ - if ( se->localPart == 28 && se->namespaceURI == 5 ) { - /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}Service) */ - return _exiEncodeStartElement(stream, 1, 0, state, se, 191, 188); - } - break; - case 191: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}Service), END_ELEMENT] */ - if ( se->localPart == 28 && se->namespaceURI == 5 ) { - /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}Service) */ - return _exiEncodeStartElement(stream, 1, 0, state, se, 192, 188); - } - break; - case 192: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}Service), END_ELEMENT] */ - if ( se->localPart == 28 && se->namespaceURI == 5 ) { - /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}Service) */ - return _exiEncodeStartElement(stream, 1, 0, state, se, 193, 188); - } - break; - case 193: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}Service), END_ELEMENT] */ - if ( se->localPart == 28 && se->namespaceURI == 5 ) { - /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}Service) */ - return _exiEncodeStartElement(stream, 1, 0, state, se, 194, 188); - } - break; - case 194: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}Service), END_ELEMENT] */ - if ( se->localPart == 28 && se->namespaceURI == 5 ) { - /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}Service) */ - return _exiEncodeStartElement(stream, 1, 0, state, se, 195, 188); - } - break; - case 196: - /* 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 == 32 && se->namespaceURI == 5 ) { - /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}ServiceName) */ - return _exiEncodeStartElement(stream, 2, 0, state, se, 198, 199); - } - else if ( se->localPart == 35 && se->namespaceURI == 5 ) { - /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}ServiceType) */ - return _exiEncodeStartElement(stream, 2, 1, state, se, 200, 180); - } - else if ( se->localPart == 33 && se->namespaceURI == 5 ) { - /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}ServiceScope) */ - return _exiEncodeStartElement(stream, 2, 2, state, se, 201, 182); - } - break; - case 198: - /* 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 == 35 && se->namespaceURI == 5 ) { - /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}ServiceType) */ - return _exiEncodeStartElement(stream, 2, 0, state, se, 200, 180); - } - else if ( se->localPart == 33 && se->namespaceURI == 5 ) { - /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}ServiceScope) */ - return _exiEncodeStartElement(stream, 2, 1, state, se, 201, 182); - } - break; - case 200: - /* Element[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}ServiceScope) */ - return _exiEncodeStartElement(stream, 1, 0, state, se, 201, 182); - } - break; - case 205: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}PEVStatus)] */ - if ( se->localPart == 50 && se->namespaceURI == 4 ) { - /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}PEVStatus) */ - return _exiEncodeStartElement(stream, 0, 0, state, se, 206, 35); - } - break; - case 207: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}EVSEID)] */ - if ( se->localPart == 16 && se->namespaceURI == 4 ) { - /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}EVSEID) */ - return _exiEncodeStartElement(stream, 0, 0, state, se, 209, 154); - } - break; - case 209: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}EVSEStatus)] */ - if ( se->localPart == 25 && se->namespaceURI == 4 ) { - /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}EVSEStatus) */ - return _exiEncodeStartElement(stream, 0, 0, state, se, 210, 46); - } - break; - case 210: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}TCurrent)] */ - if ( se->localPart == 82 && se->namespaceURI == 4 ) { - /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}TCurrent) */ - return _exiEncodeStartElement(stream, 0, 0, state, se, 211, 56); - } - break; - case 213: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}EVSEStatus)] */ - if ( se->localPart == 25 && se->namespaceURI == 4 ) { - /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}EVSEStatus) */ - return _exiEncodeStartElement(stream, 0, 0, state, se, 215, 46); - } - break; - case 215: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}EVSEPresentVoltage)] */ - if ( se->localPart == 24 && se->namespaceURI == 4 ) { - /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}EVSEPresentVoltage) */ - return _exiEncodeStartElement(stream, 0, 0, state, se, 216, 67); - } - break; - case 217: - /* 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, 219, 220); - } - break; - case 218: - /* 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, 221, 222); - } - break; - case 220: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDef}BodyElement), START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}CableCheckReq), START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}CableCheckRes), START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}ChargeParameterDiscoveryReq), START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}ChargeParameterDiscoveryRes), START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}CurrentDemandReq), START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}CurrentDemandRes), 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}PreChargeReq), START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}PreChargeRes), 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:MsgBody}TerminateChargingReq), START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}TerminateChargingRes), START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}WeldingDetectionReq), START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}WeldingDetectionRes), 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, 238, 3); - } - else if ( se->localPart == 0 && se->namespaceURI == 4 ) { - /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}CableCheckReq) */ - return _exiEncodeStartElement(stream, 5, 1, state, se, 238, 5); - } - else if ( se->localPart == 2 && se->namespaceURI == 4 ) { - /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}CableCheckRes) */ - return _exiEncodeStartElement(stream, 5, 2, state, se, 238, 6); - } - else if ( se->localPart == 4 && se->namespaceURI == 4 ) { - /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}ChargeParameterDiscoveryReq) */ - return _exiEncodeStartElement(stream, 5, 3, state, se, 238, 7); - } - else if ( se->localPart == 6 && se->namespaceURI == 4 ) { - /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}ChargeParameterDiscoveryRes) */ - return _exiEncodeStartElement(stream, 5, 4, state, se, 238, 8); - } - else if ( se->localPart == 10 && se->namespaceURI == 4 ) { - /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}CurrentDemandReq) */ - return _exiEncodeStartElement(stream, 5, 5, state, se, 238, 9); - } - else if ( se->localPart == 12 && se->namespaceURI == 4 ) { - /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}CurrentDemandRes) */ - return _exiEncodeStartElement(stream, 5, 6, state, se, 238, 10); - } - else if ( se->localPart == 28 && se->namespaceURI == 4 ) { - /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}LineLockReq) */ - return _exiEncodeStartElement(stream, 5, 7, state, se, 238, 11); - } - else if ( se->localPart == 30 && se->namespaceURI == 4 ) { - /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}LineLockRes) */ - return _exiEncodeStartElement(stream, 5, 8, state, se, 238, 12); - } - else if ( se->localPart == 33 && se->namespaceURI == 4 ) { - /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}MeteringReceiptReq) */ - return _exiEncodeStartElement(stream, 5, 9, state, se, 238, 13); - } - else if ( se->localPart == 35 && se->namespaceURI == 4 ) { - /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}MeteringReceiptRes) */ - return _exiEncodeStartElement(stream, 5, 10, state, se, 238, 14); - } - else if ( se->localPart == 37 && se->namespaceURI == 4 ) { - /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}MeteringStatusReq) */ - return _exiEncodeStartElement(stream, 5, 11, state, se, 238, 15); - } - else if ( se->localPart == 39 && se->namespaceURI == 4 ) { - /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}MeteringStatusRes) */ - return _exiEncodeStartElement(stream, 5, 12, state, se, 238, 16); - } - else if ( se->localPart == 52 && se->namespaceURI == 4 ) { - /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}PaymentDetailsReq) */ - return _exiEncodeStartElement(stream, 5, 13, state, se, 238, 17); - } - else if ( se->localPart == 54 && se->namespaceURI == 4 ) { - /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}PaymentDetailsRes) */ - return _exiEncodeStartElement(stream, 5, 14, state, se, 238, 18); - } - else if ( se->localPart == 56 && se->namespaceURI == 4 ) { - /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}PowerDeliveryReq) */ - return _exiEncodeStartElement(stream, 5, 15, state, se, 238, 19); - } - else if ( se->localPart == 58 && se->namespaceURI == 4 ) { - /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}PowerDeliveryRes) */ - return _exiEncodeStartElement(stream, 5, 16, state, se, 238, 20); - } - else if ( se->localPart == 60 && se->namespaceURI == 4 ) { - /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}PreChargeReq) */ - return _exiEncodeStartElement(stream, 5, 17, state, se, 238, 21); - } - else if ( se->localPart == 62 && se->namespaceURI == 4 ) { - /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}PreChargeRes) */ - return _exiEncodeStartElement(stream, 5, 18, state, se, 238, 22); - } - else if ( se->localPart == 67 && se->namespaceURI == 4 ) { - /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}ServiceDiscoveryReq) */ - return _exiEncodeStartElement(stream, 5, 19, state, se, 238, 23); - } - else if ( se->localPart == 69 && se->namespaceURI == 4 ) { - /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}ServiceDiscoveryRes) */ - return _exiEncodeStartElement(stream, 5, 20, state, se, 238, 24); - } - else if ( se->localPart == 72 && se->namespaceURI == 4 ) { - /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}ServicePaymentSelectionReq) */ - return _exiEncodeStartElement(stream, 5, 21, state, se, 238, 25); - } - else if ( se->localPart == 74 && se->namespaceURI == 4 ) { - /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}ServicePaymentSelectionRes) */ - return _exiEncodeStartElement(stream, 5, 22, state, se, 238, 26); - } - else if ( se->localPart == 78 && se->namespaceURI == 4 ) { - /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}SessionSetupReq) */ - return _exiEncodeStartElement(stream, 5, 23, state, se, 238, 27); - } - else if ( se->localPart == 80 && se->namespaceURI == 4 ) { - /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}SessionSetupRes) */ - return _exiEncodeStartElement(stream, 5, 24, state, se, 238, 28); - } - else if ( se->localPart == 85 && se->namespaceURI == 4 ) { - /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}TerminateChargingReq) */ - return _exiEncodeStartElement(stream, 5, 25, state, se, 238, 29); - } - else if ( se->localPart == 87 && se->namespaceURI == 4 ) { - /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}TerminateChargingRes) */ - return _exiEncodeStartElement(stream, 5, 26, state, se, 238, 30); - } - else if ( se->localPart == 90 && se->namespaceURI == 4 ) { - /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}WeldingDetectionReq) */ - return _exiEncodeStartElement(stream, 5, 27, state, se, 238, 32); - } - else if ( se->localPart == 92 && se->namespaceURI == 4 ) { - /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}WeldingDetectionRes) */ - return _exiEncodeStartElement(stream, 5, 28, state, se, 238, 33); - } - break; - case 221: - /* 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, 223, 224); - } - break; - case 222: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}SessionID)] */ - if ( se->localPart == 36 && se->namespaceURI == 5 ) { - /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}SessionID) */ - return _exiEncodeStartElement(stream, 0, 0, state, se, 225, 226); - } - break; - case 224: - /* 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 == 14 && se->namespaceURI == 5 ) { - /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}FaultCode) */ - return _exiEncodeStartElement(stream, 2, 0, state, se, 230, 231); - } - else if ( se->localPart == 15 && se->namespaceURI == 5 ) { - /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}FaultMsg) */ - return _exiEncodeStartElement(stream, 2, 1, state, se, 232, 233); - } - else if ( se->localPart == 11 && se->namespaceURI == 5 ) { - /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}EventList) */ - return _exiEncodeStartElement(stream, 2, 2, state, se, 234, 235); - } - break; - case 225: - /* 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 == 34 && se->namespaceURI == 5 ) { - /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}ServiceSessionID) */ - return _exiEncodeStartElement(stream, 2, 0, state, se, 227, 226); - } - else if ( se->localPart == 25 && se->namespaceURI == 5 ) { - /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}ProtocolVersion) */ - return _exiEncodeStartElement(stream, 2, 1, state, se, 228, 229); - } - break; - case 227: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}ProtocolVersion), END_ELEMENT] */ - if ( se->localPart == 25 && se->namespaceURI == 5 ) { - /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}ProtocolVersion) */ - return _exiEncodeStartElement(stream, 1, 0, state, se, 228, 229); - } - break; - case 230: - /* 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 == 15 && se->namespaceURI == 5 ) { - /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}FaultMsg) */ - return _exiEncodeStartElement(stream, 2, 0, state, se, 232, 233); - } - else if ( se->localPart == 11 && se->namespaceURI == 5 ) { - /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}EventList) */ - return _exiEncodeStartElement(stream, 2, 1, state, se, 234, 235); - } - break; - case 232: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}EventList), END_ELEMENT] */ - if ( se->localPart == 11 && se->namespaceURI == 5 ) { - /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}EventList) */ - return _exiEncodeStartElement(stream, 1, 0, state, se, 234, 235); - } - break; - case 235: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}Event)] */ - if ( se->localPart == 10 && se->namespaceURI == 5 ) { - /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}Event) */ - return _exiEncodeStartElement(stream, 0, 0, state, se, 236, 237); - } - break; - case 240: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}EVSEStatus)] */ - if ( se->localPart == 25 && se->namespaceURI == 4 ) { - /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}EVSEStatus) */ - return _exiEncodeStartElement(stream, 0, 0, state, se, 242, 46); - } - break; - case 242: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}EVSEPresentVoltage)] */ - if ( se->localPart == 24 && se->namespaceURI == 4 ) { - /* START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}EVSEPresentVoltage) */ - return _exiEncodeStartElement(stream, 0, 0, state, se, 243, 67); + /* FirstStartTagStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Event)] */ + if ( se->localPart == 9 && se->namespaceURI == 5 ) { + /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Event) */ + return _exiEncodeStartElement(stream, 0, 0, state, se, 172, 173); } break; @@ -1438,192 +1016,141 @@ int exiEncodeStartElement(bitstream_t* stream, exi_state_t* state, int exiEncodeEndElement(bitstream_t* stream, exi_state_t* state, eqname_t* ee) { switch (state->grammarStack[state->stackIndex]) { - case 220: - /* FirstStartTag[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDef}BodyElement), START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}CableCheckReq), START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}CableCheckRes), START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}ChargeParameterDiscoveryReq), START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}ChargeParameterDiscoveryRes), START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}CurrentDemandReq), START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}CurrentDemandRes), 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}PreChargeReq), START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}PreChargeRes), 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:MsgBody}TerminateChargingReq), START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}TerminateChargingRes), START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}WeldingDetectionReq), START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}WeldingDetectionRes), END_ELEMENT] */ - encodeNBitUnsignedInteger(stream, 5, 29); - break; - case 142: - /* 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] */ + case 53: + /* FirstStartTagStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}MeterID), 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:MsgDataTypes}TMeter), END_ELEMENT] */ encodeNBitUnsignedInteger(stream, 3, 4); break; + case 54: + /* Element[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:MsgDataTypes}TMeter), END_ELEMENT] */ + case 134: + /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceName), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceType), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceScope), END_ELEMENT] */ + case 160: + /* FirstStartTagStartTag[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}EventList), END_ELEMENT] */ + encodeNBitUnsignedInteger(stream, 2, 3); + break; + case 156: + /* FirstStartTagStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDef}BodyElement), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}LineLockReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}LineLockRes), 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}MeteringStatusReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}MeteringStatusRes), 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}PowerDiscoveryReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PowerDiscoveryRes), 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), END_ELEMENT] */ + encodeNBitUnsignedInteger(stream, 5, 19); + break; + case 58: + /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}TMeter), END_ELEMENT] */ + case 76: + /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}MeterInfo), END_ELEMENT] */ + case 84: + /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ChargingProfile), END_ELEMENT] */ + case 105: + /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}TariffTable), END_ELEMENT] */ + case 111: + /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Tariff), END_ELEMENT] */ + case 118: + /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}TariffEntry), END_ELEMENT] */ + case 122: + /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EPrice), END_ELEMENT] */ + case 124: + /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceScope), END_ELEMENT] */ + case 128: + /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceList), END_ELEMENT] */ + case 132: + /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Service), END_ELEMENT] */ + case 138: + /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceScope), END_ELEMENT] */ + case 143: + /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}MeteringAuthPubKey), END_ELEMENT] */ + case 157: + /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDef}Notification), END_ELEMENT] */ + case 163: + /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ProtocolVersion), END_ELEMENT] */ + case 168: + /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EventList), END_ELEMENT] */ + encodeNBitUnsignedInteger(stream, 1, 1); + break; + case 56: + /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}MeterStatus), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}TMeter), END_ELEMENT] */ + case 75: + /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PCurrent), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}MeterInfo), END_ELEMENT] */ + case 83: + /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}Tariff), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ChargingProfile), END_ELEMENT] */ + case 104: + /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EnergyProvider), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}TariffTable), END_ELEMENT] */ + case 17: + /* FirstStartTagStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceType), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceScope), END_ELEMENT] */ + case 136: + /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceType), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceScope), END_ELEMENT] */ + case 161: + /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceSessionID), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ProtocolVersion), END_ELEMENT] */ + case 166: + /* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}FaultMsg), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EventList), END_ELEMENT] */ + encodeNBitUnsignedInteger(stream, 2, 2); + break; case 3: - /* First(xsi:type)StartTag[END_ELEMENT] */ + /* FirstStartTag(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 40: + case 44: /* Element[END_ELEMENT] */ - case 42: - /* Element[END_ELEMENT] */ - case 45: + case 52: /* Element[END_ELEMENT] */ case 60: /* Element[END_ELEMENT] */ - case 74: + case 65: /* Element[END_ELEMENT] */ - case 79: + case 67: /* Element[END_ELEMENT] */ - case 91: + case 9: + /* FirstStartTagStartTag[END_ELEMENT] */ + case 77: /* Element[END_ELEMENT] */ - case 101: + case 78: /* Element[END_ELEMENT] */ - case 106: + case 80: + /* Element[END_ELEMENT] */ + case 85: + /* Element[END_ELEMENT] */ + case 88: + /* Element[END_ELEMENT] */ + case 89: + /* Element[END_ELEMENT] */ + case 98: + /* Element[END_ELEMENT] */ + case 107: /* Element[END_ELEMENT] */ case 116: /* Element[END_ELEMENT] */ - case 120: + case 123: /* Element[END_ELEMENT] */ - case 125: + case 126: /* Element[END_ELEMENT] */ case 130: /* Element[END_ELEMENT] */ - case 132: - /* Element[END_ELEMENT] */ - case 135: + case 139: /* Element[END_ELEMENT] */ case 141: /* Element[END_ELEMENT] */ - case 148: + case 145: /* Element[END_ELEMENT] */ - case 149: + case 147: + /* Element[END_ELEMENT] */ + case 152: + /* Element[END_ELEMENT] */ + case 155: /* Element[END_ELEMENT] */ - case 15: - /* FirstStartTag[END_ELEMENT] */ case 159: /* Element[END_ELEMENT] */ - case 160: - /* Element[END_ELEMENT] */ case 164: /* Element[END_ELEMENT] */ - case 167: - /* Element[END_ELEMENT] */ case 170: /* Element[END_ELEMENT] */ + case 172: + /* Element[END_ELEMENT] */ case 174: /* Element[END_ELEMENT] */ - case 178: - /* Element[END_ELEMENT] */ - case 181: - /* Element[END_ELEMENT] */ - case 185: - /* Element[END_ELEMENT] */ - case 195: - /* Element[END_ELEMENT] */ - case 201: - /* Element[END_ELEMENT] */ - case 202: - /* Element[END_ELEMENT] */ - case 203: - /* Element[END_ELEMENT] */ - case 206: - /* Element[END_ELEMENT] */ - case 211: - /* Element[END_ELEMENT] */ - case 212: - /* Element[END_ELEMENT] */ - case 216: - /* Element[END_ELEMENT] */ - case 219: - /* Element[END_ELEMENT] */ - case 223: - /* Element[END_ELEMENT] */ - case 228: - /* Element[END_ELEMENT] */ - case 234: - /* Element[END_ELEMENT] */ - case 236: - /* Element[END_ELEMENT] */ - case 238: - /* Element[END_ELEMENT] */ - case 239: - /* Element[END_ELEMENT] */ - case 243: - /* Element[END_ELEMENT] */ - break; - case 143: - /* 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 196: - /* 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 224: - /* 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 89: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}TariffTable), END_ELEMENT] */ - case 100: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}Tariff), END_ELEMENT] */ - case 99: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}Tariff), END_ELEMENT] */ - case 98: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}Tariff), END_ELEMENT] */ - case 97: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}Tariff), END_ELEMENT] */ - case 95: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}Tariff), END_ELEMENT] */ - case 115: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}TariffEntry), END_ELEMENT] */ - case 114: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}TariffEntry), END_ELEMENT] */ - case 113: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}TariffEntry), END_ELEMENT] */ - case 112: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}TariffEntry), END_ELEMENT] */ - case 111: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}TariffEntry), END_ELEMENT] */ - case 110: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}TariffEntry), END_ELEMENT] */ - case 108: - /* 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}EPrice), END_ELEMENT] */ - case 146: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}TMeter), END_ELEMENT] */ - case 158: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}MeterInfo), END_ELEMENT] */ - case 166: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}Tariff), END_ELEMENT] */ - case 179: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}ServiceScope), END_ELEMENT] */ - case 183: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgBody}ServiceList), END_ELEMENT] */ - case 194: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}Service), END_ELEMENT] */ - case 193: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}Service), END_ELEMENT] */ - case 192: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}Service), END_ELEMENT] */ - case 191: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}Service), END_ELEMENT] */ - case 190: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}Service), END_ELEMENT] */ - case 189: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}Service), END_ELEMENT] */ - case 187: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}Service), END_ELEMENT] */ - case 200: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}ServiceScope), END_ELEMENT] */ - case 221: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgHeader}Notification), END_ELEMENT] */ - case 227: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}ProtocolVersion), END_ELEMENT] */ - case 232: - /* Element[START_ELEMENT({urn:iso:15118:2:2010:eval1.0:MsgDataTypes}EventList), END_ELEMENT] */ - encodeNBitUnsignedInteger(stream, 1, 1); - break; - case 88: - /* 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 145: - /* 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 157: - /* 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 23: - /* 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 198: - /* 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 225: - /* 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 230: - /* 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); + /* no event code to write */ break; default: @@ -1636,162 +1163,151 @@ int exiEncodeEndElement(bitstream_t* stream, exi_state_t* state, int exiEncodeCharacters(bitstream_t* stream, exi_state_t* state, exi_value_t* val) { - uint32_t bits; switch (state->grammarStack[state->stackIndex]) { - case 154: - case 197: - case 226: - /* CHARACTERS[BINARY_HEX] */ - if (val->type == BINARY_HEX) { - encodeBinary(stream, &val->binary); - /* move on */ - state->grammarStack[state->stackIndex] = 42; - return 0; - } - break; + case 27: + case 30: + case 37: case 41: - case 59: - case 61: - /* CHARACTERS[BOOLEAN] */ - /* xsi:type OR xsi:nil */ - encodeNBitUnsignedInteger(stream, 1, 0); + case 43: if (val->type == BOOLEAN) { + /* CHARACTERS[BOOLEAN] */ encodeBoolean(stream, val->boolean); /* move on */ - state->grammarStack[state->stackIndex] = 42; + state->grammarStack[state->stackIndex] = 31; return 0; } break; - case 44: - case 64: - case 127: - case 150: - case 152: - case 176: - case 214: - case 241: - /* CHARACTERS[ENUMERATION] */ + case 51: + case 90: + case 129: + case 149: + case 173: if (val->type == ENUMERATION) { - encodeNBitUnsignedInteger(stream, 1, val->enumeration); - /* move on */ - state->grammarStack[state->stackIndex] = 42; - return 0; - } - break; - case 233: - /* 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] = 42; - return 0; - } - break; - case 103: - case 169: - case 184: - case 208: - case 237: /* CHARACTERS[ENUMERATION] */ - if (val->type == ENUMERATION) { encodeNBitUnsignedInteger(stream, 3, val->enumeration); /* move on */ - state->grammarStack[state->stackIndex] = 42; + state->grammarStack[state->stackIndex] = 31; return 0; } break; - case 56: - /* CHARACTERS[INTEGER_32] */ - if (val->type == INTEGER_32) { - encodeInteger32(stream, val->int32); + case 68: + case 70: + case 100: + if (val->type == ENUMERATION) { + /* CHARACTERS[ENUMERATION] */ + encodeNBitUnsignedInteger(stream, 1, val->enumeration); /* move on */ - state->grammarStack[state->stackIndex] = 42; + state->grammarStack[state->stackIndex] = 31; return 0; } break; - case 118: - /* CHARACTERS[UNSIGNED_INTEGER_32] */ + case 33: + case 81: + case 125: + case 144: + case 167: + if (val->type == ENUMERATION) { + /* CHARACTERS[ENUMERATION] */ + encodeNBitUnsignedInteger(stream, 2, val->enumeration); + /* move on */ + state->grammarStack[state->stackIndex] = 31; + return 0; + } + break; + case 169: + if (val->type == STRING) { + /* CHARACTERS[STRING] */ + /* xsi:type OR xsi:nil */ + encodeNBitUnsignedInteger(stream, 1, 0); + encodeStringValue(stream, &val->string); + /* move on */ + state->grammarStack[state->stackIndex] = 31; + return 0; + } + break; + case 62: + if (val->type == ENUMERATION) { + /* CHARACTERS[ENUMERATION] */ + encodeNBitUnsignedInteger(stream, 4, val->enumeration); + /* move on */ + state->grammarStack[state->stackIndex] = 31; + return 0; + } + break; + case 121: if (val->type == UNSIGNED_INTEGER_32) { + /* CHARACTERS[UNSIGNED_INTEGER_32] */ encodeUnsignedInteger32(stream, val->uint32); /* move on */ - state->grammarStack[state->stackIndex] = 42; + state->grammarStack[state->stackIndex] = 31; return 0; } break; - case 78: - /* CHARACTERS[ENUMERATION] */ + case 47: + case 55: + case 79: + case 106: + case 110: + case 115: + case 127: + case 137: + case 165: + if (val->type == STRING) { + /* CHARACTERS[STRING] */ + encodeStringValue(stream, &val->string); + /* move on */ + state->grammarStack[state->stackIndex] = 31; + return 0; + } + break; + case 64: if (val->type == ENUMERATION) { + /* CHARACTERS[ENUMERATION] */ encodeNBitUnsignedInteger(stream, 5, val->enumeration); /* move on */ - state->grammarStack[state->stackIndex] = 42; + state->grammarStack[state->stackIndex] = 31; return 0; } break; - case 80: + case 66: + if (val->type == INTEGER_32) { /* CHARACTERS[INTEGER_32] */ /* xsi:type OR xsi:nil */ encodeNBitUnsignedInteger(stream, 1, 0); + encodeInteger32(stream, val->int32); + /* move on */ + state->grammarStack[state->stackIndex] = 31; + return 0; + } + break; + case 45: if (val->type == INTEGER_32) { + /* CHARACTERS[INTEGER_32] */ encodeInteger32(stream, val->int32); /* move on */ - state->grammarStack[state->stackIndex] = 42; + state->grammarStack[state->stackIndex] = 31; return 0; } break; - case 37: - case 39: - case 48: - case 52: - case 54: - /* CHARACTERS[BOOLEAN] */ - if (val->type == BOOLEAN) { - encodeBoolean(stream, val->boolean); - /* move on */ - state->grammarStack[state->stackIndex] = 42; - return 0; - } - break; - case 76: - case 70: - case 147: - /* CHARACTERS[INTEGER_16] */ + case 59: + case 96: if (val->type == INTEGER_16) { + /* CHARACTERS[INTEGER_16] */ encodeInteger32(stream, val->int32); /* move on */ - state->grammarStack[state->stackIndex] = 42; + state->grammarStack[state->stackIndex] = 31; return 0; } break; - case 90: - case 94: - case 105: - case 137: - case 144: - case 161: - case 182: - case 199: - case 229: - /* CHARACTERS[STRING] */ - if (val->type == STRING) { - encodeStringValue(stream, &val->string); + case 72: + case 135: + case 142: + case 162: + if (val->type == BINARY_HEX) { + /* CHARACTERS[BINARY_HEX] */ + encodeBinary(stream, &val->binary); /* move on */ - state->grammarStack[state->stackIndex] = 42; - return 0; - } - break; - case 82: - case 134: - case 163: - case 180: - case 204: - case 231: - /* CHARACTERS[ENUMERATION] */ - if (val->type == ENUMERATION) { - encodeNBitUnsignedInteger(stream, 2, val->enumeration); - /* move on */ - state->grammarStack[state->stackIndex] = 42; + state->grammarStack[state->stackIndex] = 31; return 0; } break; diff --git a/src/codec/EXIEncoder.h b/src/codec/EXIEncoder.h index 08ea7cb..2a1dbae 100644 --- a/src/codec/EXIEncoder.h +++ b/src/codec/EXIEncoder.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2007-2011 Siemens AG + * 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 @@ -18,7 +18,7 @@ /******************************************************************* * * @author Daniel.Peintner.EXT@siemens.com - * @version 0.4 + * @version 0.3 * @contact Joerg.Heuer@siemens.com * ********************************************************************/ diff --git a/src/codec/EXIHeaderDecoder.c b/src/codec/EXIHeaderDecoder.c index d3edaa2..f398324 100644 --- a/src/codec/EXIHeaderDecoder.c +++ b/src/codec/EXIHeaderDecoder.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2007-2011 Siemens AG + * 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 @@ -18,7 +18,7 @@ /******************************************************************* * * @author Daniel.Peintner.EXT@siemens.com - * @version 0.4 + * @version 0.3 * @contact Joerg.Heuer@siemens.com * ********************************************************************/ @@ -34,7 +34,7 @@ #define EXI_HEADER_DECODER_C int readEXIHeader(bitstream_t* stream) { - uint32_t header = 0; + uint8_t header; int errn = readBits(stream, 8, &header); if (errn < 0) { return errn; diff --git a/src/codec/EXIHeaderDecoder.h b/src/codec/EXIHeaderDecoder.h index 3533b0b..20d20ae 100644 --- a/src/codec/EXIHeaderDecoder.h +++ b/src/codec/EXIHeaderDecoder.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2007-2011 Siemens AG + * 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 @@ -18,7 +18,7 @@ /******************************************************************* * * @author Daniel.Peintner.EXT@siemens.com - * @version 0.4 + * @version 0.3 * @contact Joerg.Heuer@siemens.com * ********************************************************************/ diff --git a/src/codec/EXIHeaderEncoder.c b/src/codec/EXIHeaderEncoder.c index 02d38d8..1e9aaea 100644 --- a/src/codec/EXIHeaderEncoder.c +++ b/src/codec/EXIHeaderEncoder.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2007-2011 Siemens AG + * 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 @@ -18,7 +18,7 @@ /******************************************************************* * * @author Daniel.Peintner.EXT@siemens.com - * @version 0.4 + * @version 0.3 * @contact Joerg.Heuer@siemens.com * ********************************************************************/ diff --git a/src/codec/EXIHeaderEncoder.h b/src/codec/EXIHeaderEncoder.h index daf7862..8538ab1 100644 --- a/src/codec/EXIHeaderEncoder.h +++ b/src/codec/EXIHeaderEncoder.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2007-2011 Siemens AG + * 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 @@ -18,7 +18,7 @@ /******************************************************************* * * @author Daniel.Peintner.EXT@siemens.com - * @version 0.4 + * @version 0.3 * @contact Joerg.Heuer@siemens.com * ********************************************************************/ diff --git a/src/codec/EXITypes.h b/src/codec/EXITypes.h index cfd3568..6c699f6 100644 --- a/src/codec/EXITypes.h +++ b/src/codec/EXITypes.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2007-2011 Siemens AG + * 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 @@ -18,7 +18,7 @@ /******************************************************************* * * @author Daniel.Peintner.EXT@siemens.com - * @version 0.4 + * @version 0.3 * @contact Joerg.Heuer@siemens.com * ********************************************************************/ @@ -35,8 +35,6 @@ extern "C" { #define BITS_IN_BYTE 8 -#define UINT_MAX_VALUE 65535 - #define EXI_ELEMENT_STACK_SIZE 16 /* EXI automaton methods prefixes such as "inline" etc. */ @@ -51,29 +49,29 @@ extern "C" { typedef struct { /* Integer Array */ - uint16_t size; /* array size */ + size_t size; /* array size */ uint8_t* data; /* int data array */ - uint16_t* pos; /* next position in array */ + size_t* pos; /* next position in array */ /* Current byte buffer & its remaining bit capacity */ uint8_t buffer; - uint16_t capacity; + size_t capacity; } bitstream_t; typedef struct { /* Bytes Size and array container */ - uint16_t size; + size_t size; uint8_t* data; /* current length (len <= size) */ - uint16_t len; + size_t len; } bytes_t; /* Universal Character Set (UCS) strings */ typedef struct { /* UCS size and UCS character container*/ - uint16_t size; + size_t size; uint32_t* codepoints; /* current length == number of code-points, (len <= size) */ - uint16_t len; + size_t len; } string_ucs_t; typedef struct { @@ -129,27 +127,27 @@ typedef enum /* TODO list support */ typedef struct { /* List container with memory size */ - uint16_t size; + size_t size; uint8_t* data; /* list item type */ exi_datatype_t type; /* number of items */ - uint16_t len; + size_t len; } list_t; typedef struct { - uint16_t namespaceURI; - uint16_t localPart; + unsigned int namespaceURI; + unsigned int localPart; } eqname_t; typedef struct { /* stack of grammar states and elements */ - uint16_t grammarStack [EXI_ELEMENT_STACK_SIZE]; + size_t grammarStack [EXI_ELEMENT_STACK_SIZE]; eqname_t elementStack [EXI_ELEMENT_STACK_SIZE]; - uint16_t stackIndex; + size_t stackIndex; /* event-code */ - uint32_t eventCode; + uint8_t eventCode; } exi_state_t; @@ -159,16 +157,16 @@ typedef struct { /* base types */ int boolean; + int8_t int8; + uint8_t uint8; uint32_t uint32; - uint64_t uint64; int32_t int32; int64_t int64; - uint32_t enumeration; + uint8_t enumeration; /* Bytes, Strings and Lists are not native types anymore */ bytes_t binary; string_ucs_t string; - float_me_t float_me; list_t list; } exi_value_t; diff --git a/src/codec/StringTable.c b/src/codec/StringTable.c index 8bec0df..d02a019 100644 --- a/src/codec/StringTable.c +++ b/src/codec/StringTable.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2007-2011 Siemens AG + * 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 @@ -18,7 +18,7 @@ /******************************************************************* * * @author Daniel.Peintner.EXT@siemens.com - * @version 0.4 + * @version 0.3 * @contact Joerg.Heuer@siemens.com * ********************************************************************/ @@ -32,12 +32,15 @@ #includeSwitch for sample programs: EXI codec only or for entire V2G service
@@ -33,8 +33,7 @@ int main(int argc, char *argv[]) { /* EXI codec only */ - /* return main_codec(argc, argv);*/ - + /*return main_codec(argc, argv);*/ /* V2G client / service example scenario */ return main_service(argc, argv); diff --git a/src/test/main.h b/src/test/main.h index 37cf8b7..6f91a1b 100644 --- a/src/test/main.h +++ b/src/test/main.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2007-2011 Siemens AG + * 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 @@ -19,7 +19,7 @@ * * @author Daniel.Peintner.EXT@siemens.com * @author Sebastian.Kaebisch.EXT@siemens.com - * @version 0.4 + * @version 0.3 * @contact Joerg.Heuer@siemens.com * * diff --git a/src/test/main_codec.c b/src/test/main_codec.c index 11f6621..1d20962 100644 --- a/src/test/main_codec.c +++ b/src/test/main_codec.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2007-2011 Siemens AG + * 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 @@ -18,7 +18,7 @@ /******************************************************************* * * @author Daniel.Peintner.EXT@siemens.com - * @version 0.4 + * @version 0.3 * @contact Joerg.Heuer@siemens.com * *Sample program to illustrate how to read an EXI stream and
@@ -36,10 +36,10 @@
#include "EXITypes.h"
#include "ByteStream.h"
-#define BUFFER_SIZE 1000
+#define BUFFER_SIZE 100
-#define ARRAY_SIZE_BYTES 100
-#define ARRAY_SIZE_STRINGS 100
+#define ARRAY_SIZE_BYTES 50
+#define ARRAY_SIZE_STRINGS 50
/* avoids warning: initializer element is not computable at load time */
uint8_t bufferIn[BUFFER_SIZE];
@@ -53,8 +53,8 @@ int main_codec(int argc, char *argv[]) {
unsigned int i;
bitstream_t iStream, oStream;
- uint16_t posDecode;
- uint16_t posEncode;
+ size_t posDecode;
+ size_t posEncode;
/* EXI set-up */
exi_state_t stateDecode;
@@ -66,7 +66,7 @@ int main_codec(int argc, char *argv[]) {
/* BINARY memory setup */
bytes_t bytes = { ARRAY_SIZE_BYTES, data, 0 };
- /* STRING memory setup */
+ /* STRING memory setuo */
string_ucs_t string = { ARRAY_SIZE_STRINGS, codepoints, 0 };
const char * localName;
@@ -182,7 +182,7 @@ int main_codec(int argc, char *argv[]) {
return errn;
}
if (val.type == INTEGER_BIG) {
- printf(" CH int64 : %ld \n", (long int)val.int64);
+ printf(" CH int64 : %lld \n", val.int64);
} else if (val.type == BINARY_BASE64 || val.type == BINARY_HEX) {
printf(" CH Binary (len == %d) : ", val.binary.len);
for(i=0; i