extend coders with support of collapsing (same) fragment elements IF type is the same or is an extension (see https://sourceforge.net/p/openv2g/tickets/11/)

git-svn-id: https://svn.code.sf.net/p/openv2g/code/trunk@108 d9f2db14-54d0-4bde-b00c-16405c910529
This commit is contained in:
daniel_peintner 2017-11-16 07:57:50 +00:00 committed by Martin-P
parent 5dd19a02bc
commit f6072e1824
18 changed files with 2848 additions and 426 deletions

View file

@ -18,7 +18,7 @@
/******************************************************************* /*******************************************************************
* *
* @author Daniel.Peintner.EXT@siemens.com * @author Daniel.Peintner.EXT@siemens.com
* @version 2017-09-26 * @version 2017-11-16
* @contact Richard.Kuntschke@siemens.com * @contact Richard.Kuntschke@siemens.com
* *
* <p>Code generated by EXIdizer</p> * <p>Code generated by EXIdizer</p>

View file

@ -18,7 +18,7 @@
/******************************************************************* /*******************************************************************
* *
* @author Daniel.Peintner.EXT@siemens.com * @author Daniel.Peintner.EXT@siemens.com
* @version 2017-09-26 * @version 2017-11-16
* @contact Richard.Kuntschke@siemens.com * @contact Richard.Kuntschke@siemens.com
* *
* <p>Code generated by EXIdizer</p> * <p>Code generated by EXIdizer</p>

View file

@ -18,7 +18,7 @@
/******************************************************************* /*******************************************************************
* *
* @author Daniel.Peintner.EXT@siemens.com * @author Daniel.Peintner.EXT@siemens.com
* @version 2017-09-26 * @version 2017-11-16
* @contact Richard.Kuntschke@siemens.com * @contact Richard.Kuntschke@siemens.com
* *
* <p>Code generated by EXIdizer</p> * <p>Code generated by EXIdizer</p>
@ -14580,11 +14580,13 @@ int decode_dinExiFragment(bitstream_t* stream, struct dinEXIFragment* exiFrag) {
break; break;
case 2: case 2:
/* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}AC_EVSEStatus) */ /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}AC_EVSEStatus) */
errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name AC_EVSEStatus */ errn = decode_dinAC_EVSEStatusType(stream, &exiFrag->AC_EVSEStatus);
exiFrag->AC_EVSEStatus_isUsed = 1u;
break; break;
case 3: case 3:
/* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}AC_EVSEStatus) */ /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}AC_EVSEStatus) */
errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name AC_EVSEStatus */ errn = decode_dinAC_EVSEStatusType(stream, &exiFrag->AC_EVSEStatus);
exiFrag->AC_EVSEStatus_isUsed = 1u;
break; break;
case 4: case 4:
/* START_ELEMENT({urn:iso:15118:2:2010:MsgDef}Body) */ /* START_ELEMENT({urn:iso:15118:2:2010:MsgDef}Body) */
@ -14598,11 +14600,31 @@ int decode_dinExiFragment(bitstream_t* stream, struct dinEXIFragment* exiFrag) {
break; break;
case 6: case 6:
/* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}BulkChargingComplete) */ /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}BulkChargingComplete) */
errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name BulkChargingComplete */ /* FirstStartTag[CHARACTERS[BOOLEAN]] */
errn = decodeNBitUnsignedInteger(stream, 1, &eventCode);
if(errn == 0) {
if(eventCode == 0) {
errn = decodeBoolean(stream, &exiFrag->BulkChargingComplete);
exiFrag->BulkChargingComplete_isUsed = 1u;
} else {
/* Second level event (e.g., xsi:type, xsi:nil, ...) */
errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS;
}
}
break; break;
case 7: case 7:
/* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}BulkChargingComplete) */ /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}BulkChargingComplete) */
errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name BulkChargingComplete */ /* FirstStartTag[CHARACTERS[BOOLEAN]] */
errn = decodeNBitUnsignedInteger(stream, 1, &eventCode);
if(errn == 0) {
if(eventCode == 0) {
errn = decodeBoolean(stream, &exiFrag->BulkChargingComplete);
exiFrag->BulkChargingComplete_isUsed = 1u;
} else {
/* Second level event (e.g., xsi:type, xsi:nil, ...) */
errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS;
}
}
break; break;
case 8: case 8:
/* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}BulkSOC) */ /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}BulkSOC) */
@ -14636,7 +14658,23 @@ int decode_dinExiFragment(bitstream_t* stream, struct dinEXIFragment* exiFrag) {
break; break;
case 12: case 12:
/* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Certificate) */ /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Certificate) */
errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name Certificate */ /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */
errn = decodeNBitUnsignedInteger(stream, 1, &eventCode);
if(errn == 0) {
if(eventCode == 0) {
errn = decodeUnsignedInteger16(stream, &exiFrag->Certificate.bytesLen);
if (errn == 0) {
errn = (exiFrag->Certificate.bytesLen) <= EXIFragment_Certificate_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER;
}
if (errn == 0) {
errn = decodeBytes(stream, exiFrag->Certificate.bytesLen, exiFrag->Certificate.bytes);
}
exiFrag->Certificate_isUsed = 1u;
} else {
/* Second level event (e.g., xsi:type, xsi:nil, ...) */
errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS;
}
}
break; break;
case 13: case 13:
/* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}CertificateInstallationReq) */ /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}CertificateInstallationReq) */
@ -14675,11 +14713,31 @@ int decode_dinExiFragment(bitstream_t* stream, struct dinEXIFragment* exiFrag) {
break; break;
case 20: case 20:
/* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ChargingComplete) */ /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ChargingComplete) */
errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name ChargingComplete */ /* FirstStartTag[CHARACTERS[BOOLEAN]] */
errn = decodeNBitUnsignedInteger(stream, 1, &eventCode);
if(errn == 0) {
if(eventCode == 0) {
errn = decodeBoolean(stream, &exiFrag->ChargingComplete);
exiFrag->ChargingComplete_isUsed = 1u;
} else {
/* Second level event (e.g., xsi:type, xsi:nil, ...) */
errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS;
}
}
break; break;
case 21: case 21:
/* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ChargingComplete) */ /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ChargingComplete) */
errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name ChargingComplete */ /* FirstStartTag[CHARACTERS[BOOLEAN]] */
errn = decodeNBitUnsignedInteger(stream, 1, &eventCode);
if(errn == 0) {
if(eventCode == 0) {
errn = decodeBoolean(stream, &exiFrag->ChargingComplete);
exiFrag->ChargingComplete_isUsed = 1u;
} else {
/* Second level event (e.g., xsi:type, xsi:nil, ...) */
errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS;
}
}
break; break;
case 22: case 22:
/* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ChargingProfile) */ /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ChargingProfile) */
@ -14741,15 +14799,51 @@ int decode_dinExiFragment(bitstream_t* stream, struct dinEXIFragment* exiFrag) {
break; break;
case 30: case 30:
/* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ContractID) */ /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ContractID) */
errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name ContractID */ /* FirstStartTag[CHARACTERS[STRING]] */
errn = decodeNBitUnsignedInteger(stream, 1, &eventCode);
if(errn == 0) {
if(eventCode == 0) {
errn = decodeUnsignedInteger16(stream, &exiFrag->ContractID.charactersLen);
if (errn == 0) {
if (exiFrag->ContractID.charactersLen >= 2) {
exiFrag->ContractID.charactersLen = (uint16_t)(exiFrag->ContractID.charactersLen - 2); /* string table miss */
errn = decodeCharacters(stream, exiFrag->ContractID.charactersLen, exiFrag->ContractID.characters, EXIFragment_ContractID_CHARACTERS_SIZE);
} else {
/* string table hit */
errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED;
}
}
exiFrag->ContractID_isUsed = 1u;
} else {
/* Second level event (e.g., xsi:type, xsi:nil, ...) */
errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS;
}
}
break; break;
case 31: case 31:
/* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ContractSignatureCertChain) */ /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ContractSignatureCertChain) */
errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name ContractSignatureCertChain */ errn = decode_dinCertificateChainType(stream, &exiFrag->ContractSignatureCertChain);
exiFrag->ContractSignatureCertChain_isUsed = 1u;
break; break;
case 32: case 32:
/* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ContractSignatureEncryptedPrivateKey) */ /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ContractSignatureEncryptedPrivateKey) */
errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name ContractSignatureEncryptedPrivateKey */ /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */
errn = decodeNBitUnsignedInteger(stream, 1, &eventCode);
if(errn == 0) {
if(eventCode == 0) {
errn = decodeUnsignedInteger16(stream, &exiFrag->ContractSignatureEncryptedPrivateKey.bytesLen);
if (errn == 0) {
errn = (exiFrag->ContractSignatureEncryptedPrivateKey.bytesLen) <= EXIFragment_ContractSignatureEncryptedPrivateKey_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER;
}
if (errn == 0) {
errn = decodeBytes(stream, exiFrag->ContractSignatureEncryptedPrivateKey.bytesLen, exiFrag->ContractSignatureEncryptedPrivateKey.bytes);
}
exiFrag->ContractSignatureEncryptedPrivateKey_isUsed = 1u;
} else {
/* Second level event (e.g., xsi:type, xsi:nil, ...) */
errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS;
}
}
break; break;
case 33: case 33:
/* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Cost) */ /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Cost) */
@ -14783,23 +14877,43 @@ int decode_dinExiFragment(bitstream_t* stream, struct dinEXIFragment* exiFrag) {
break; break;
case 39: case 39:
/* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}DC_EVSEStatus) */ /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}DC_EVSEStatus) */
errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name DC_EVSEStatus */ errn = decode_dinDC_EVSEStatusType(stream, &exiFrag->DC_EVSEStatus);
exiFrag->DC_EVSEStatus_isUsed = 1u;
break; break;
case 40: case 40:
/* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}DC_EVSEStatus) */ /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}DC_EVSEStatus) */
errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name DC_EVSEStatus */ errn = decode_dinDC_EVSEStatusType(stream, &exiFrag->DC_EVSEStatus);
exiFrag->DC_EVSEStatus_isUsed = 1u;
break; break;
case 41: case 41:
/* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}DC_EVStatus) */ /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}DC_EVStatus) */
errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name DC_EVStatus */ errn = decode_dinDC_EVStatusType(stream, &exiFrag->DC_EVStatus);
exiFrag->DC_EVStatus_isUsed = 1u;
break; break;
case 42: case 42:
/* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}DC_EVStatus) */ /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}DC_EVStatus) */
errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name DC_EVStatus */ errn = decode_dinDC_EVStatusType(stream, &exiFrag->DC_EVStatus);
exiFrag->DC_EVStatus_isUsed = 1u;
break; break;
case 43: case 43:
/* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}DHParams) */ /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}DHParams) */
errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name DHParams */ /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */
errn = decodeNBitUnsignedInteger(stream, 1, &eventCode);
if(errn == 0) {
if(eventCode == 0) {
errn = decodeUnsignedInteger16(stream, &exiFrag->DHParams.bytesLen);
if (errn == 0) {
errn = (exiFrag->DHParams.bytesLen) <= EXIFragment_DHParams_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER;
}
if (errn == 0) {
errn = decodeBytes(stream, exiFrag->DHParams.bytesLen, exiFrag->DHParams.bytes);
}
exiFrag->DHParams_isUsed = 1u;
} else {
/* Second level event (e.g., xsi:type, xsi:nil, ...) */
errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS;
}
}
break; break;
case 44: case 44:
/* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DSAKeyValue) */ /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DSAKeyValue) */
@ -14808,7 +14922,17 @@ int decode_dinExiFragment(bitstream_t* stream, struct dinEXIFragment* exiFrag) {
break; break;
case 45: case 45:
/* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}DateTimeNow) */ /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}DateTimeNow) */
errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name DateTimeNow */ /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */
errn = decodeNBitUnsignedInteger(stream, 1, &eventCode);
if(errn == 0) {
if(eventCode == 0) {
errn = decodeInteger64(stream, &exiFrag->DateTimeNow);
exiFrag->DateTimeNow_isUsed = 1u;
} else {
/* Second level event (e.g., xsi:type, xsi:nil, ...) */
errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS;
}
}
break; break;
case 46: case 46:
/* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}DepartureTime) */ /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}DepartureTime) */
@ -14945,27 +15069,33 @@ int decode_dinExiFragment(bitstream_t* stream, struct dinEXIFragment* exiFrag) {
break; break;
case 59: case 59:
/* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVMaximumCurrentLimit) */ /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVMaximumCurrentLimit) */
errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVMaximumCurrentLimit */ errn = decode_dinPhysicalValueType(stream, &exiFrag->EVMaximumCurrentLimit);
exiFrag->EVMaximumCurrentLimit_isUsed = 1u;
break; break;
case 60: case 60:
/* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVMaximumCurrentLimit) */ /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVMaximumCurrentLimit) */
errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVMaximumCurrentLimit */ errn = decode_dinPhysicalValueType(stream, &exiFrag->EVMaximumCurrentLimit);
exiFrag->EVMaximumCurrentLimit_isUsed = 1u;
break; break;
case 61: case 61:
/* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVMaximumPowerLimit) */ /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVMaximumPowerLimit) */
errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVMaximumPowerLimit */ errn = decode_dinPhysicalValueType(stream, &exiFrag->EVMaximumPowerLimit);
exiFrag->EVMaximumPowerLimit_isUsed = 1u;
break; break;
case 62: case 62:
/* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVMaximumPowerLimit) */ /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVMaximumPowerLimit) */
errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVMaximumPowerLimit */ errn = decode_dinPhysicalValueType(stream, &exiFrag->EVMaximumPowerLimit);
exiFrag->EVMaximumPowerLimit_isUsed = 1u;
break; break;
case 63: case 63:
/* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVMaximumVoltageLimit) */ /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVMaximumVoltageLimit) */
errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVMaximumVoltageLimit */ errn = decode_dinPhysicalValueType(stream, &exiFrag->EVMaximumVoltageLimit);
exiFrag->EVMaximumVoltageLimit_isUsed = 1u;
break; break;
case 64: case 64:
/* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVMaximumVoltageLimit) */ /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVMaximumVoltageLimit) */
errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVMaximumVoltageLimit */ errn = decode_dinPhysicalValueType(stream, &exiFrag->EVMaximumVoltageLimit);
exiFrag->EVMaximumVoltageLimit_isUsed = 1u;
break; break;
case 65: case 65:
/* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVMinCurrent) */ /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVMinCurrent) */
@ -15066,7 +15196,23 @@ int decode_dinExiFragment(bitstream_t* stream, struct dinEXIFragment* exiFrag) {
break; break;
case 75: case 75:
/* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEID) */ /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEID) */
errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVSEID */ /* FirstStartTag[CHARACTERS[BINARY_HEX]] */
errn = decodeNBitUnsignedInteger(stream, 1, &eventCode);
if(errn == 0) {
if(eventCode == 0) {
errn = decodeUnsignedInteger16(stream, &exiFrag->EVSEID.bytesLen);
if (errn == 0) {
errn = (exiFrag->EVSEID.bytesLen) <= EXIFragment_EVSEID_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER;
}
if (errn == 0) {
errn = decodeBytes(stream, exiFrag->EVSEID.bytesLen, exiFrag->EVSEID.bytes);
}
exiFrag->EVSEID_isUsed = 1u;
} else {
/* Second level event (e.g., xsi:type, xsi:nil, ...) */
errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS;
}
}
break; break;
case 76: case 76:
/* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEIsolationStatus) */ /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEIsolationStatus) */
@ -15085,11 +15231,13 @@ int decode_dinExiFragment(bitstream_t* stream, struct dinEXIFragment* exiFrag) {
break; break;
case 77: case 77:
/* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEMaxCurrent) */ /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEMaxCurrent) */
errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVSEMaxCurrent */ errn = decode_dinPhysicalValueType(stream, &exiFrag->EVSEMaxCurrent);
exiFrag->EVSEMaxCurrent_isUsed = 1u;
break; break;
case 78: case 78:
/* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEMaxCurrent) */ /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEMaxCurrent) */
errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVSEMaxCurrent */ errn = decode_dinPhysicalValueType(stream, &exiFrag->EVSEMaxCurrent);
exiFrag->EVSEMaxCurrent_isUsed = 1u;
break; break;
case 79: case 79:
/* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEMaxVoltage) */ /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEMaxVoltage) */
@ -15098,27 +15246,33 @@ int decode_dinExiFragment(bitstream_t* stream, struct dinEXIFragment* exiFrag) {
break; break;
case 80: case 80:
/* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEMaximumCurrentLimit) */ /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEMaximumCurrentLimit) */
errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVSEMaximumCurrentLimit */ errn = decode_dinPhysicalValueType(stream, &exiFrag->EVSEMaximumCurrentLimit);
exiFrag->EVSEMaximumCurrentLimit_isUsed = 1u;
break; break;
case 81: case 81:
/* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEMaximumCurrentLimit) */ /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEMaximumCurrentLimit) */
errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVSEMaximumCurrentLimit */ errn = decode_dinPhysicalValueType(stream, &exiFrag->EVSEMaximumCurrentLimit);
exiFrag->EVSEMaximumCurrentLimit_isUsed = 1u;
break; break;
case 82: case 82:
/* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEMaximumPowerLimit) */ /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEMaximumPowerLimit) */
errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVSEMaximumPowerLimit */ errn = decode_dinPhysicalValueType(stream, &exiFrag->EVSEMaximumPowerLimit);
exiFrag->EVSEMaximumPowerLimit_isUsed = 1u;
break; break;
case 83: case 83:
/* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEMaximumPowerLimit) */ /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEMaximumPowerLimit) */
errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVSEMaximumPowerLimit */ errn = decode_dinPhysicalValueType(stream, &exiFrag->EVSEMaximumPowerLimit);
exiFrag->EVSEMaximumPowerLimit_isUsed = 1u;
break; break;
case 84: case 84:
/* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEMaximumVoltageLimit) */ /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEMaximumVoltageLimit) */
errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVSEMaximumVoltageLimit */ errn = decode_dinPhysicalValueType(stream, &exiFrag->EVSEMaximumVoltageLimit);
exiFrag->EVSEMaximumVoltageLimit_isUsed = 1u;
break; break;
case 85: case 85:
/* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEMaximumVoltageLimit) */ /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEMaximumVoltageLimit) */
errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVSEMaximumVoltageLimit */ errn = decode_dinPhysicalValueType(stream, &exiFrag->EVSEMaximumVoltageLimit);
exiFrag->EVSEMaximumVoltageLimit_isUsed = 1u;
break; break;
case 86: case 86:
/* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEMinCurrent) */ /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEMinCurrent) */
@ -15137,7 +15291,18 @@ int decode_dinExiFragment(bitstream_t* stream, struct dinEXIFragment* exiFrag) {
break; break;
case 89: case 89:
/* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSENotification) */ /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSENotification) */
errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVSENotification */ /* FirstStartTag[CHARACTERS[ENUMERATION]] */
errn = decodeNBitUnsignedInteger(stream, 1, &eventCode);
if(errn == 0) {
if(eventCode == 0) {
errn = decodeNBitUnsignedInteger(stream, 2, &uint32);
exiFrag->EVSENotification = (dinEVSENotificationType) uint32;
exiFrag->EVSENotification_isUsed = 1u;
} else {
/* Second level event (e.g., xsi:type, xsi:nil, ...) */
errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS;
}
}
break; break;
case 90: case 90:
/* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEPeakCurrentRipple) */ /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEPeakCurrentRipple) */
@ -15165,11 +15330,23 @@ int decode_dinExiFragment(bitstream_t* stream, struct dinEXIFragment* exiFrag) {
break; break;
case 93: case 93:
/* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEPresentVoltage) */ /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEPresentVoltage) */
errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVSEPresentVoltage */ errn = decode_dinPhysicalValueType(stream, &exiFrag->EVSEPresentVoltage);
exiFrag->EVSEPresentVoltage_isUsed = 1u;
break; break;
case 94: case 94:
/* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEProcessing) */ /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEProcessing) */
errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVSEProcessing */ /* FirstStartTag[CHARACTERS[ENUMERATION]] */
errn = decodeNBitUnsignedInteger(stream, 1, &eventCode);
if(errn == 0) {
if(eventCode == 0) {
errn = decodeNBitUnsignedInteger(stream, 1, &uint32);
exiFrag->EVSEProcessing = (dinEVSEProcessingType) uint32;
exiFrag->EVSEProcessing_isUsed = 1u;
} else {
/* Second level event (e.g., xsi:type, xsi:nil, ...) */
errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS;
}
}
break; break;
case 95: case 95:
/* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEStatus) */ /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEStatus) */
@ -15212,11 +15389,13 @@ int decode_dinExiFragment(bitstream_t* stream, struct dinEXIFragment* exiFrag) {
break; break;
case 99: case 99:
/* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVTargetCurrent) */ /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVTargetCurrent) */
errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVTargetCurrent */ errn = decode_dinPhysicalValueType(stream, &exiFrag->EVTargetCurrent);
exiFrag->EVTargetCurrent_isUsed = 1u;
break; break;
case 100: case 100:
/* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVTargetVoltage) */ /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVTargetVoltage) */
errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVTargetVoltage */ errn = decode_dinPhysicalValueType(stream, &exiFrag->EVTargetVoltage);
exiFrag->EVTargetVoltage_isUsed = 1u;
break; break;
case 101: case 101:
/* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EnergyTransferType) */ /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EnergyTransferType) */
@ -15347,7 +15526,26 @@ int decode_dinExiFragment(bitstream_t* stream, struct dinEXIFragment* exiFrag) {
break; break;
case 109: case 109:
/* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}GenChallenge) */ /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}GenChallenge) */
errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name GenChallenge */ /* FirstStartTag[CHARACTERS[STRING]] */
errn = decodeNBitUnsignedInteger(stream, 1, &eventCode);
if(errn == 0) {
if(eventCode == 0) {
errn = decodeUnsignedInteger16(stream, &exiFrag->GenChallenge.charactersLen);
if (errn == 0) {
if (exiFrag->GenChallenge.charactersLen >= 2) {
exiFrag->GenChallenge.charactersLen = (uint16_t)(exiFrag->GenChallenge.charactersLen - 2); /* string table miss */
errn = decodeCharacters(stream, exiFrag->GenChallenge.charactersLen, exiFrag->GenChallenge.characters, EXIFragment_GenChallenge_CHARACTERS_SIZE);
} else {
/* string table hit */
errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED;
}
}
exiFrag->GenChallenge_isUsed = 1u;
} else {
/* Second level event (e.g., xsi:type, xsi:nil, ...) */
errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS;
}
}
break; break;
case 110: case 110:
/* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}HMACOutputLength) */ /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}HMACOutputLength) */
@ -15423,7 +15621,8 @@ int decode_dinExiFragment(bitstream_t* stream, struct dinEXIFragment* exiFrag) {
break; break;
case 116: case 116:
/* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ListOfRootCertificateIDs) */ /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ListOfRootCertificateIDs) */
errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name ListOfRootCertificateIDs */ errn = decode_dinListOfRootCertificateIDsType(stream, &exiFrag->ListOfRootCertificateIDs);
exiFrag->ListOfRootCertificateIDs_isUsed = 1u;
break; break;
case 117: case 117:
/* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Manifest) */ /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Manifest) */
@ -15455,7 +15654,8 @@ int decode_dinExiFragment(bitstream_t* stream, struct dinEXIFragment* exiFrag) {
break; break;
case 119: case 119:
/* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}MeterInfo) */ /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}MeterInfo) */
errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name MeterInfo */ errn = decode_dinMeterInfoType(stream, &exiFrag->MeterInfo);
exiFrag->MeterInfo_isUsed = 1u;
break; break;
case 120: case 120:
/* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}MeterReading) */ /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}MeterReading) */
@ -15551,7 +15751,17 @@ int decode_dinExiFragment(bitstream_t* stream, struct dinEXIFragment* exiFrag) {
break; break;
case 128: case 128:
/* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}NotificationMaxDelay) */ /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}NotificationMaxDelay) */
errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name NotificationMaxDelay */ /* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */
errn = decodeNBitUnsignedInteger(stream, 1, &eventCode);
if(errn == 0) {
if(eventCode == 0) {
errn = decodeUnsignedInteger32(stream, &exiFrag->NotificationMaxDelay);
exiFrag->NotificationMaxDelay_isUsed = 1u;
} else {
/* Second level event (e.g., xsi:type, xsi:nil, ...) */
errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS;
}
}
break; break;
case 129: case 129:
/* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}NumEPriceLevels) */ /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}NumEPriceLevels) */
@ -15640,7 +15850,23 @@ int decode_dinExiFragment(bitstream_t* stream, struct dinEXIFragment* exiFrag) {
break; break;
case 135: case 135:
/* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPKeyPacket) */ /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPKeyPacket) */
errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name PGPKeyPacket */ /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */
errn = decodeNBitUnsignedInteger(stream, 1, &eventCode);
if(errn == 0) {
if(eventCode == 0) {
errn = decodeUnsignedInteger16(stream, &exiFrag->PGPKeyPacket.bytesLen);
if (errn == 0) {
errn = (exiFrag->PGPKeyPacket.bytesLen) <= EXIFragment_PGPKeyPacket_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER;
}
if (errn == 0) {
errn = decodeBytes(stream, exiFrag->PGPKeyPacket.bytesLen, exiFrag->PGPKeyPacket.bytes);
}
exiFrag->PGPKeyPacket_isUsed = 1u;
} else {
/* Second level event (e.g., xsi:type, xsi:nil, ...) */
errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS;
}
}
break; break;
case 136: case 136:
/* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}PMax) */ /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}PMax) */
@ -15692,7 +15918,17 @@ int decode_dinExiFragment(bitstream_t* stream, struct dinEXIFragment* exiFrag) {
break; break;
case 142: case 142:
/* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ParameterSetID) */ /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ParameterSetID) */
errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name ParameterSetID */ /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */
errn = decodeNBitUnsignedInteger(stream, 1, &eventCode);
if(errn == 0) {
if(eventCode == 0) {
errn = decodeInteger16(stream, &exiFrag->ParameterSetID);
exiFrag->ParameterSetID_isUsed = 1u;
} else {
/* Second level event (e.g., xsi:type, xsi:nil, ...) */
errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS;
}
}
break; break;
case 143: case 143:
/* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PaymentDetailsReq) */ /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PaymentDetailsReq) */
@ -15872,7 +16108,18 @@ int decode_dinExiFragment(bitstream_t* stream, struct dinEXIFragment* exiFrag) {
break; break;
case 163: case 163:
/* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode) */ /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode) */
errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name ResponseCode */ /* FirstStartTag[CHARACTERS[ENUMERATION]] */
errn = decodeNBitUnsignedInteger(stream, 1, &eventCode);
if(errn == 0) {
if(eventCode == 0) {
errn = decodeNBitUnsignedInteger(stream, 5, &uint32);
exiFrag->ResponseCode = (dinresponseCodeType) uint32;
exiFrag->ResponseCode_isUsed = 1u;
} else {
/* Second level event (e.g., xsi:type, xsi:nil, ...) */
errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS;
}
}
break; break;
case 164: case 164:
/* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}RetrievalMethod) */ /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}RetrievalMethod) */
@ -15928,11 +16175,31 @@ int decode_dinExiFragment(bitstream_t* stream, struct dinEXIFragment* exiFrag) {
break; break;
case 169: case 169:
/* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}SAScheduleTupleID) */ /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}SAScheduleTupleID) */
errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name SAScheduleTupleID */ /* FirstStartTag[CHARACTERS[INTEGER]] */
errn = decodeNBitUnsignedInteger(stream, 1, &eventCode);
if(errn == 0) {
if(eventCode == 0) {
errn = decodeInteger16(stream, &exiFrag->SAScheduleTupleID);
exiFrag->SAScheduleTupleID_isUsed = 1u;
} else {
/* Second level event (e.g., xsi:type, xsi:nil, ...) */
errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS;
}
}
break; break;
case 170: case 170:
/* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SAScheduleTupleID) */ /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SAScheduleTupleID) */
errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name SAScheduleTupleID */ /* FirstStartTag[CHARACTERS[INTEGER]] */
errn = decodeNBitUnsignedInteger(stream, 1, &eventCode);
if(errn == 0) {
if(eventCode == 0) {
errn = decodeInteger16(stream, &exiFrag->SAScheduleTupleID);
exiFrag->SAScheduleTupleID_isUsed = 1u;
} else {
/* Second level event (e.g., xsi:type, xsi:nil, ...) */
errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS;
}
}
break; break;
case 171: case 171:
/* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SASchedules) */ /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SASchedules) */
@ -16063,11 +16330,33 @@ int decode_dinExiFragment(bitstream_t* stream, struct dinEXIFragment* exiFrag) {
break; break;
case 183: case 183:
/* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceCategory) */ /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceCategory) */
errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name ServiceCategory */ /* FirstStartTag[CHARACTERS[ENUMERATION]] */
errn = decodeNBitUnsignedInteger(stream, 1, &eventCode);
if(errn == 0) {
if(eventCode == 0) {
errn = decodeNBitUnsignedInteger(stream, 2, &uint32);
exiFrag->ServiceCategory = (dinserviceCategoryType) uint32;
exiFrag->ServiceCategory_isUsed = 1u;
} else {
/* Second level event (e.g., xsi:type, xsi:nil, ...) */
errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS;
}
}
break; break;
case 184: case 184:
/* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceCategory) */ /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceCategory) */
errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name ServiceCategory */ /* FirstStartTag[CHARACTERS[ENUMERATION]] */
errn = decodeNBitUnsignedInteger(stream, 1, &eventCode);
if(errn == 0) {
if(eventCode == 0) {
errn = decodeNBitUnsignedInteger(stream, 2, &uint32);
exiFrag->ServiceCategory = (dinserviceCategoryType) uint32;
exiFrag->ServiceCategory_isUsed = 1u;
} else {
/* Second level event (e.g., xsi:type, xsi:nil, ...) */
errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS;
}
}
break; break;
case 185: case 185:
/* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceCharge) */ /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceCharge) */
@ -16096,11 +16385,31 @@ int decode_dinExiFragment(bitstream_t* stream, struct dinEXIFragment* exiFrag) {
break; break;
case 190: case 190:
/* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceID) */ /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceID) */
errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name ServiceID */ /* FirstStartTag[CHARACTERS[UNSIGNED_INTEGER]] */
errn = decodeNBitUnsignedInteger(stream, 1, &eventCode);
if(errn == 0) {
if(eventCode == 0) {
errn = decodeUnsignedInteger16(stream, &exiFrag->ServiceID);
exiFrag->ServiceID_isUsed = 1u;
} else {
/* Second level event (e.g., xsi:type, xsi:nil, ...) */
errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS;
}
}
break; break;
case 191: case 191:
/* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceID) */ /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceID) */
errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name ServiceID */ /* FirstStartTag[CHARACTERS[UNSIGNED_INTEGER]] */
errn = decodeNBitUnsignedInteger(stream, 1, &eventCode);
if(errn == 0) {
if(eventCode == 0) {
errn = decodeUnsignedInteger16(stream, &exiFrag->ServiceID);
exiFrag->ServiceID_isUsed = 1u;
} else {
/* Second level event (e.g., xsi:type, xsi:nil, ...) */
errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS;
}
}
break; break;
case 192: case 192:
/* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceList) */ /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceList) */
@ -16147,11 +16456,49 @@ int decode_dinExiFragment(bitstream_t* stream, struct dinEXIFragment* exiFrag) {
break; break;
case 197: case 197:
/* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceScope) */ /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceScope) */
errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name ServiceScope */ /* FirstStartTag[CHARACTERS[STRING]] */
errn = decodeNBitUnsignedInteger(stream, 1, &eventCode);
if(errn == 0) {
if(eventCode == 0) {
errn = decodeUnsignedInteger16(stream, &exiFrag->ServiceScope.charactersLen);
if (errn == 0) {
if (exiFrag->ServiceScope.charactersLen >= 2) {
exiFrag->ServiceScope.charactersLen = (uint16_t)(exiFrag->ServiceScope.charactersLen - 2); /* string table miss */
errn = decodeCharacters(stream, exiFrag->ServiceScope.charactersLen, exiFrag->ServiceScope.characters, EXIFragment_ServiceScope_CHARACTERS_SIZE);
} else {
/* string table hit */
errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED;
}
}
exiFrag->ServiceScope_isUsed = 1u;
} else {
/* Second level event (e.g., xsi:type, xsi:nil, ...) */
errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS;
}
}
break; break;
case 198: case 198:
/* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceScope) */ /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceScope) */
errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name ServiceScope */ /* FirstStartTag[CHARACTERS[STRING]] */
errn = decodeNBitUnsignedInteger(stream, 1, &eventCode);
if(errn == 0) {
if(eventCode == 0) {
errn = decodeUnsignedInteger16(stream, &exiFrag->ServiceScope.charactersLen);
if (errn == 0) {
if (exiFrag->ServiceScope.charactersLen >= 2) {
exiFrag->ServiceScope.charactersLen = (uint16_t)(exiFrag->ServiceScope.charactersLen - 2); /* string table miss */
errn = decodeCharacters(stream, exiFrag->ServiceScope.charactersLen, exiFrag->ServiceScope.characters, EXIFragment_ServiceScope_CHARACTERS_SIZE);
} else {
/* string table hit */
errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED;
}
}
exiFrag->ServiceScope_isUsed = 1u;
} else {
/* Second level event (e.g., xsi:type, xsi:nil, ...) */
errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS;
}
}
break; break;
case 199: case 199:
/* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceTag) */ /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceTag) */
@ -16160,11 +16507,43 @@ int decode_dinExiFragment(bitstream_t* stream, struct dinEXIFragment* exiFrag) {
break; break;
case 200: case 200:
/* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}SessionID) */ /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}SessionID) */
errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name SessionID */ /* FirstStartTag[CHARACTERS[BINARY_HEX]] */
errn = decodeNBitUnsignedInteger(stream, 1, &eventCode);
if(errn == 0) {
if(eventCode == 0) {
errn = decodeUnsignedInteger16(stream, &exiFrag->SessionID.bytesLen);
if (errn == 0) {
errn = (exiFrag->SessionID.bytesLen) <= EXIFragment_SessionID_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER;
}
if (errn == 0) {
errn = decodeBytes(stream, exiFrag->SessionID.bytesLen, exiFrag->SessionID.bytes);
}
exiFrag->SessionID_isUsed = 1u;
} else {
/* Second level event (e.g., xsi:type, xsi:nil, ...) */
errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS;
}
}
break; break;
case 201: case 201:
/* START_ELEMENT({urn:iso:15118:2:2010:MsgHeader}SessionID) */ /* START_ELEMENT({urn:iso:15118:2:2010:MsgHeader}SessionID) */
errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name SessionID */ /* FirstStartTag[CHARACTERS[BINARY_HEX]] */
errn = decodeNBitUnsignedInteger(stream, 1, &eventCode);
if(errn == 0) {
if(eventCode == 0) {
errn = decodeUnsignedInteger16(stream, &exiFrag->SessionID.bytesLen);
if (errn == 0) {
errn = (exiFrag->SessionID.bytesLen) <= EXIFragment_SessionID_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER;
}
if (errn == 0) {
errn = decodeBytes(stream, exiFrag->SessionID.bytesLen, exiFrag->SessionID.bytes);
}
exiFrag->SessionID_isUsed = 1u;
} else {
/* Second level event (e.g., xsi:type, xsi:nil, ...) */
errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS;
}
}
break; break;
case 202: case 202:
/* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}SessionSetupReq) */ /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}SessionSetupReq) */

View file

@ -18,7 +18,7 @@
/******************************************************************* /*******************************************************************
* *
* @author Daniel.Peintner.EXT@siemens.com * @author Daniel.Peintner.EXT@siemens.com
* @version 2017-09-26 * @version 2017-11-16
* @contact Richard.Kuntschke@siemens.com * @contact Richard.Kuntschke@siemens.com
* *
* <p>Code generated by EXIdizer</p> * <p>Code generated by EXIdizer</p>

View file

@ -18,7 +18,7 @@
/******************************************************************* /*******************************************************************
* *
* @author Daniel.Peintner.EXT@siemens.com * @author Daniel.Peintner.EXT@siemens.com
* @version 2017-09-26 * @version 2017-11-16
* @contact Richard.Kuntschke@siemens.com * @contact Richard.Kuntschke@siemens.com
* *
* <p>Code generated by EXIdizer</p> * <p>Code generated by EXIdizer</p>
@ -10585,10 +10585,16 @@ int encode_dinExiFragment(bitstream_t* stream, struct dinEXIFragment* exiFrag) {
} }
} else if ( exiFrag->AC_EVSEStatus_isUsed == 1u ) { } else if ( exiFrag->AC_EVSEStatus_isUsed == 1u ) {
/* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}AC_EVSEStatus) */ /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}AC_EVSEStatus) */
errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name AC_EVSEStatus */ errn = encodeNBitUnsignedInteger(stream, 8, 2);
if(errn == 0) {
errn = encode_dinAC_EVSEStatusType(stream, &exiFrag->AC_EVSEStatus );
}
} else if ( exiFrag->AC_EVSEStatus_isUsed == 1u ) { } else if ( exiFrag->AC_EVSEStatus_isUsed == 1u ) {
/* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}AC_EVSEStatus) */ /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}AC_EVSEStatus) */
errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name AC_EVSEStatus */ errn = encodeNBitUnsignedInteger(stream, 8, 3);
if(errn == 0) {
errn = encode_dinAC_EVSEStatusType(stream, &exiFrag->AC_EVSEStatus );
}
} else if ( exiFrag->Body_isUsed == 1u ) { } else if ( exiFrag->Body_isUsed == 1u ) {
/* START_ELEMENT({urn:iso:15118:2:2010:MsgDef}Body) */ /* START_ELEMENT({urn:iso:15118:2:2010:MsgDef}Body) */
errn = encodeNBitUnsignedInteger(stream, 8, 4); errn = encodeNBitUnsignedInteger(stream, 8, 4);
@ -10603,10 +10609,28 @@ int encode_dinExiFragment(bitstream_t* stream, struct dinEXIFragment* exiFrag) {
} }
} else if ( exiFrag->BulkChargingComplete_isUsed == 1u ) { } else if ( exiFrag->BulkChargingComplete_isUsed == 1u ) {
/* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}BulkChargingComplete) */ /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}BulkChargingComplete) */
errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name BulkChargingComplete */ errn = encodeNBitUnsignedInteger(stream, 8, 6);
if(errn == 0) {
/* FirstStartTag[CHARACTERS[BOOLEAN]] */
errn = encodeNBitUnsignedInteger(stream, 1, 0);
if(errn == 0) {
errn = encodeBoolean(stream, exiFrag->BulkChargingComplete);
/* valid EE */
errn = encodeNBitUnsignedInteger(stream, 1, 0);
}
}
} else if ( exiFrag->BulkChargingComplete_isUsed == 1u ) { } else if ( exiFrag->BulkChargingComplete_isUsed == 1u ) {
/* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}BulkChargingComplete) */ /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}BulkChargingComplete) */
errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name BulkChargingComplete */ errn = encodeNBitUnsignedInteger(stream, 8, 7);
if(errn == 0) {
/* FirstStartTag[CHARACTERS[BOOLEAN]] */
errn = encodeNBitUnsignedInteger(stream, 1, 0);
if(errn == 0) {
errn = encodeBoolean(stream, exiFrag->BulkChargingComplete);
/* valid EE */
errn = encodeNBitUnsignedInteger(stream, 1, 0);
}
}
} else if ( exiFrag->BulkSOC_isUsed == 1u ) { } else if ( exiFrag->BulkSOC_isUsed == 1u ) {
/* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}BulkSOC) */ /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}BulkSOC) */
errn = encodeNBitUnsignedInteger(stream, 8, 8); errn = encodeNBitUnsignedInteger(stream, 8, 8);
@ -10639,7 +10663,19 @@ int encode_dinExiFragment(bitstream_t* stream, struct dinEXIFragment* exiFrag) {
} }
} else if ( exiFrag->Certificate_isUsed == 1u ) { } else if ( exiFrag->Certificate_isUsed == 1u ) {
/* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Certificate) */ /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Certificate) */
errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name Certificate */ errn = encodeNBitUnsignedInteger(stream, 8, 12);
if(errn == 0) {
/* FirstStartTag[CHARACTERS[BINARY_BASE64]] */
errn = encodeNBitUnsignedInteger(stream, 1, 0);
if(errn == 0) {
errn = encodeUnsignedInteger16(stream, (uint16_t)(exiFrag->Certificate.bytesLen));
if (errn == 0) {
errn = encodeBytes(stream, exiFrag->Certificate.bytes, exiFrag->Certificate.bytesLen);
}
/* valid EE */
errn = encodeNBitUnsignedInteger(stream, 1, 0);
}
}
} else if ( exiFrag->CertificateInstallationReq_isUsed == 1u ) { } else if ( exiFrag->CertificateInstallationReq_isUsed == 1u ) {
/* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}CertificateInstallationReq) */ /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}CertificateInstallationReq) */
errn = encodeNBitUnsignedInteger(stream, 8, 13); errn = encodeNBitUnsignedInteger(stream, 8, 13);
@ -10684,10 +10720,28 @@ int encode_dinExiFragment(bitstream_t* stream, struct dinEXIFragment* exiFrag) {
} }
} else if ( exiFrag->ChargingComplete_isUsed == 1u ) { } else if ( exiFrag->ChargingComplete_isUsed == 1u ) {
/* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ChargingComplete) */ /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ChargingComplete) */
errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name ChargingComplete */ errn = encodeNBitUnsignedInteger(stream, 8, 20);
if(errn == 0) {
/* FirstStartTag[CHARACTERS[BOOLEAN]] */
errn = encodeNBitUnsignedInteger(stream, 1, 0);
if(errn == 0) {
errn = encodeBoolean(stream, exiFrag->ChargingComplete);
/* valid EE */
errn = encodeNBitUnsignedInteger(stream, 1, 0);
}
}
} else if ( exiFrag->ChargingComplete_isUsed == 1u ) { } else if ( exiFrag->ChargingComplete_isUsed == 1u ) {
/* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ChargingComplete) */ /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ChargingComplete) */
errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name ChargingComplete */ errn = encodeNBitUnsignedInteger(stream, 8, 21);
if(errn == 0) {
/* FirstStartTag[CHARACTERS[BOOLEAN]] */
errn = encodeNBitUnsignedInteger(stream, 1, 0);
if(errn == 0) {
errn = encodeBoolean(stream, exiFrag->ChargingComplete);
/* valid EE */
errn = encodeNBitUnsignedInteger(stream, 1, 0);
}
}
} else if ( exiFrag->ChargingProfile_isUsed == 1u ) { } else if ( exiFrag->ChargingProfile_isUsed == 1u ) {
/* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ChargingProfile) */ /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ChargingProfile) */
errn = encodeNBitUnsignedInteger(stream, 8, 22); errn = encodeNBitUnsignedInteger(stream, 8, 22);
@ -10750,13 +10804,41 @@ int encode_dinExiFragment(bitstream_t* stream, struct dinEXIFragment* exiFrag) {
} }
} else if ( exiFrag->ContractID_isUsed == 1u ) { } else if ( exiFrag->ContractID_isUsed == 1u ) {
/* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ContractID) */ /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ContractID) */
errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name ContractID */ errn = encodeNBitUnsignedInteger(stream, 8, 30);
if(errn == 0) {
/* FirstStartTag[CHARACTERS[STRING]] */
errn = encodeNBitUnsignedInteger(stream, 1, 0);
if(errn == 0) {
/* encode string as string table miss (+2 len)*/
errn = encodeUnsignedInteger16(stream, (uint16_t)(exiFrag->ContractID.charactersLen + 2));
if (errn == 0) {
errn = encodeCharacters(stream, exiFrag->ContractID.characters, exiFrag->ContractID.charactersLen);
}
/* valid EE */
errn = encodeNBitUnsignedInteger(stream, 1, 0);
}
}
} else if ( exiFrag->ContractSignatureCertChain_isUsed == 1u ) { } else if ( exiFrag->ContractSignatureCertChain_isUsed == 1u ) {
/* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ContractSignatureCertChain) */ /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ContractSignatureCertChain) */
errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name ContractSignatureCertChain */ errn = encodeNBitUnsignedInteger(stream, 8, 31);
if(errn == 0) {
errn = encode_dinCertificateChainType(stream, &exiFrag->ContractSignatureCertChain );
}
} else if ( exiFrag->ContractSignatureEncryptedPrivateKey_isUsed == 1u ) { } else if ( exiFrag->ContractSignatureEncryptedPrivateKey_isUsed == 1u ) {
/* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ContractSignatureEncryptedPrivateKey) */ /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ContractSignatureEncryptedPrivateKey) */
errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name ContractSignatureEncryptedPrivateKey */ errn = encodeNBitUnsignedInteger(stream, 8, 32);
if(errn == 0) {
/* FirstStartTag[CHARACTERS[BINARY_BASE64]] */
errn = encodeNBitUnsignedInteger(stream, 1, 0);
if(errn == 0) {
errn = encodeUnsignedInteger16(stream, (uint16_t)(exiFrag->ContractSignatureEncryptedPrivateKey.bytesLen));
if (errn == 0) {
errn = encodeBytes(stream, exiFrag->ContractSignatureEncryptedPrivateKey.bytes, exiFrag->ContractSignatureEncryptedPrivateKey.bytesLen);
}
/* valid EE */
errn = encodeNBitUnsignedInteger(stream, 1, 0);
}
}
} else if ( exiFrag->Cost_isUsed == 1u ) { } else if ( exiFrag->Cost_isUsed == 1u ) {
/* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Cost) */ /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Cost) */
errn = encodeNBitUnsignedInteger(stream, 8, 33); errn = encodeNBitUnsignedInteger(stream, 8, 33);
@ -10795,19 +10877,43 @@ int encode_dinExiFragment(bitstream_t* stream, struct dinEXIFragment* exiFrag) {
} }
} else if ( exiFrag->DC_EVSEStatus_isUsed == 1u ) { } else if ( exiFrag->DC_EVSEStatus_isUsed == 1u ) {
/* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}DC_EVSEStatus) */ /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}DC_EVSEStatus) */
errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name DC_EVSEStatus */ errn = encodeNBitUnsignedInteger(stream, 8, 39);
if(errn == 0) {
errn = encode_dinDC_EVSEStatusType(stream, &exiFrag->DC_EVSEStatus );
}
} else if ( exiFrag->DC_EVSEStatus_isUsed == 1u ) { } else if ( exiFrag->DC_EVSEStatus_isUsed == 1u ) {
/* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}DC_EVSEStatus) */ /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}DC_EVSEStatus) */
errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name DC_EVSEStatus */ errn = encodeNBitUnsignedInteger(stream, 8, 40);
if(errn == 0) {
errn = encode_dinDC_EVSEStatusType(stream, &exiFrag->DC_EVSEStatus );
}
} else if ( exiFrag->DC_EVStatus_isUsed == 1u ) { } else if ( exiFrag->DC_EVStatus_isUsed == 1u ) {
/* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}DC_EVStatus) */ /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}DC_EVStatus) */
errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name DC_EVStatus */ errn = encodeNBitUnsignedInteger(stream, 8, 41);
if(errn == 0) {
errn = encode_dinDC_EVStatusType(stream, &exiFrag->DC_EVStatus );
}
} else if ( exiFrag->DC_EVStatus_isUsed == 1u ) { } else if ( exiFrag->DC_EVStatus_isUsed == 1u ) {
/* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}DC_EVStatus) */ /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}DC_EVStatus) */
errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name DC_EVStatus */ errn = encodeNBitUnsignedInteger(stream, 8, 42);
if(errn == 0) {
errn = encode_dinDC_EVStatusType(stream, &exiFrag->DC_EVStatus );
}
} else if ( exiFrag->DHParams_isUsed == 1u ) { } else if ( exiFrag->DHParams_isUsed == 1u ) {
/* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}DHParams) */ /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}DHParams) */
errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name DHParams */ errn = encodeNBitUnsignedInteger(stream, 8, 43);
if(errn == 0) {
/* FirstStartTag[CHARACTERS[BINARY_BASE64]] */
errn = encodeNBitUnsignedInteger(stream, 1, 0);
if(errn == 0) {
errn = encodeUnsignedInteger16(stream, (uint16_t)(exiFrag->DHParams.bytesLen));
if (errn == 0) {
errn = encodeBytes(stream, exiFrag->DHParams.bytes, exiFrag->DHParams.bytesLen);
}
/* valid EE */
errn = encodeNBitUnsignedInteger(stream, 1, 0);
}
}
} else if ( exiFrag->DSAKeyValue_isUsed == 1u ) { } else if ( exiFrag->DSAKeyValue_isUsed == 1u ) {
/* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DSAKeyValue) */ /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DSAKeyValue) */
errn = encodeNBitUnsignedInteger(stream, 8, 44); errn = encodeNBitUnsignedInteger(stream, 8, 44);
@ -10816,7 +10922,16 @@ int encode_dinExiFragment(bitstream_t* stream, struct dinEXIFragment* exiFrag) {
} }
} else if ( exiFrag->DateTimeNow_isUsed == 1u ) { } else if ( exiFrag->DateTimeNow_isUsed == 1u ) {
/* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}DateTimeNow) */ /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}DateTimeNow) */
errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name DateTimeNow */ errn = encodeNBitUnsignedInteger(stream, 8, 45);
if(errn == 0) {
/* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */
errn = encodeNBitUnsignedInteger(stream, 1, 0);
if(errn == 0) {
errn = encodeInteger64(stream, exiFrag->DateTimeNow);
/* valid EE */
errn = encodeNBitUnsignedInteger(stream, 1, 0);
}
}
} else if ( exiFrag->DepartureTime_isUsed == 1u ) { } else if ( exiFrag->DepartureTime_isUsed == 1u ) {
/* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}DepartureTime) */ /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}DepartureTime) */
errn = encodeNBitUnsignedInteger(stream, 8, 46); errn = encodeNBitUnsignedInteger(stream, 8, 46);
@ -10939,22 +11054,40 @@ int encode_dinExiFragment(bitstream_t* stream, struct dinEXIFragment* exiFrag) {
} }
} else if ( exiFrag->EVMaximumCurrentLimit_isUsed == 1u ) { } else if ( exiFrag->EVMaximumCurrentLimit_isUsed == 1u ) {
/* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVMaximumCurrentLimit) */ /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVMaximumCurrentLimit) */
errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVMaximumCurrentLimit */ errn = encodeNBitUnsignedInteger(stream, 8, 59);
if(errn == 0) {
errn = encode_dinPhysicalValueType(stream, &exiFrag->EVMaximumCurrentLimit );
}
} else if ( exiFrag->EVMaximumCurrentLimit_isUsed == 1u ) { } else if ( exiFrag->EVMaximumCurrentLimit_isUsed == 1u ) {
/* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVMaximumCurrentLimit) */ /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVMaximumCurrentLimit) */
errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVMaximumCurrentLimit */ errn = encodeNBitUnsignedInteger(stream, 8, 60);
if(errn == 0) {
errn = encode_dinPhysicalValueType(stream, &exiFrag->EVMaximumCurrentLimit );
}
} else if ( exiFrag->EVMaximumPowerLimit_isUsed == 1u ) { } else if ( exiFrag->EVMaximumPowerLimit_isUsed == 1u ) {
/* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVMaximumPowerLimit) */ /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVMaximumPowerLimit) */
errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVMaximumPowerLimit */ errn = encodeNBitUnsignedInteger(stream, 8, 61);
if(errn == 0) {
errn = encode_dinPhysicalValueType(stream, &exiFrag->EVMaximumPowerLimit );
}
} else if ( exiFrag->EVMaximumPowerLimit_isUsed == 1u ) { } else if ( exiFrag->EVMaximumPowerLimit_isUsed == 1u ) {
/* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVMaximumPowerLimit) */ /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVMaximumPowerLimit) */
errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVMaximumPowerLimit */ errn = encodeNBitUnsignedInteger(stream, 8, 62);
if(errn == 0) {
errn = encode_dinPhysicalValueType(stream, &exiFrag->EVMaximumPowerLimit );
}
} else if ( exiFrag->EVMaximumVoltageLimit_isUsed == 1u ) { } else if ( exiFrag->EVMaximumVoltageLimit_isUsed == 1u ) {
/* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVMaximumVoltageLimit) */ /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVMaximumVoltageLimit) */
errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVMaximumVoltageLimit */ errn = encodeNBitUnsignedInteger(stream, 8, 63);
if(errn == 0) {
errn = encode_dinPhysicalValueType(stream, &exiFrag->EVMaximumVoltageLimit );
}
} else if ( exiFrag->EVMaximumVoltageLimit_isUsed == 1u ) { } else if ( exiFrag->EVMaximumVoltageLimit_isUsed == 1u ) {
/* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVMaximumVoltageLimit) */ /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVMaximumVoltageLimit) */
errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVMaximumVoltageLimit */ errn = encodeNBitUnsignedInteger(stream, 8, 64);
if(errn == 0) {
errn = encode_dinPhysicalValueType(stream, &exiFrag->EVMaximumVoltageLimit );
}
} else if ( exiFrag->EVMinCurrent_isUsed == 1u ) { } else if ( exiFrag->EVMinCurrent_isUsed == 1u ) {
/* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVMinCurrent) */ /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVMinCurrent) */
errn = encodeNBitUnsignedInteger(stream, 8, 65); errn = encodeNBitUnsignedInteger(stream, 8, 65);
@ -11047,7 +11180,19 @@ int encode_dinExiFragment(bitstream_t* stream, struct dinEXIFragment* exiFrag) {
} }
} else if ( exiFrag->EVSEID_isUsed == 1u ) { } else if ( exiFrag->EVSEID_isUsed == 1u ) {
/* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEID) */ /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEID) */
errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVSEID */ errn = encodeNBitUnsignedInteger(stream, 8, 75);
if(errn == 0) {
/* FirstStartTag[CHARACTERS[BINARY_HEX]] */
errn = encodeNBitUnsignedInteger(stream, 1, 0);
if(errn == 0) {
errn = encodeUnsignedInteger16(stream, (uint16_t)(exiFrag->EVSEID.bytesLen));
if (errn == 0) {
errn = encodeBytes(stream, exiFrag->EVSEID.bytes, exiFrag->EVSEID.bytesLen);
}
/* valid EE */
errn = encodeNBitUnsignedInteger(stream, 1, 0);
}
}
} else if ( exiFrag->EVSEIsolationStatus_isUsed == 1u ) { } else if ( exiFrag->EVSEIsolationStatus_isUsed == 1u ) {
/* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEIsolationStatus) */ /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEIsolationStatus) */
errn = encodeNBitUnsignedInteger(stream, 8, 76); errn = encodeNBitUnsignedInteger(stream, 8, 76);
@ -11062,10 +11207,16 @@ int encode_dinExiFragment(bitstream_t* stream, struct dinEXIFragment* exiFrag) {
} }
} else if ( exiFrag->EVSEMaxCurrent_isUsed == 1u ) { } else if ( exiFrag->EVSEMaxCurrent_isUsed == 1u ) {
/* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEMaxCurrent) */ /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEMaxCurrent) */
errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVSEMaxCurrent */ errn = encodeNBitUnsignedInteger(stream, 8, 77);
if(errn == 0) {
errn = encode_dinPhysicalValueType(stream, &exiFrag->EVSEMaxCurrent );
}
} else if ( exiFrag->EVSEMaxCurrent_isUsed == 1u ) { } else if ( exiFrag->EVSEMaxCurrent_isUsed == 1u ) {
/* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEMaxCurrent) */ /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEMaxCurrent) */
errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVSEMaxCurrent */ errn = encodeNBitUnsignedInteger(stream, 8, 78);
if(errn == 0) {
errn = encode_dinPhysicalValueType(stream, &exiFrag->EVSEMaxCurrent );
}
} else if ( exiFrag->EVSEMaxVoltage_isUsed == 1u ) { } else if ( exiFrag->EVSEMaxVoltage_isUsed == 1u ) {
/* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEMaxVoltage) */ /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEMaxVoltage) */
errn = encodeNBitUnsignedInteger(stream, 8, 79); errn = encodeNBitUnsignedInteger(stream, 8, 79);
@ -11074,22 +11225,40 @@ int encode_dinExiFragment(bitstream_t* stream, struct dinEXIFragment* exiFrag) {
} }
} else if ( exiFrag->EVSEMaximumCurrentLimit_isUsed == 1u ) { } else if ( exiFrag->EVSEMaximumCurrentLimit_isUsed == 1u ) {
/* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEMaximumCurrentLimit) */ /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEMaximumCurrentLimit) */
errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVSEMaximumCurrentLimit */ errn = encodeNBitUnsignedInteger(stream, 8, 80);
if(errn == 0) {
errn = encode_dinPhysicalValueType(stream, &exiFrag->EVSEMaximumCurrentLimit );
}
} else if ( exiFrag->EVSEMaximumCurrentLimit_isUsed == 1u ) { } else if ( exiFrag->EVSEMaximumCurrentLimit_isUsed == 1u ) {
/* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEMaximumCurrentLimit) */ /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEMaximumCurrentLimit) */
errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVSEMaximumCurrentLimit */ errn = encodeNBitUnsignedInteger(stream, 8, 81);
if(errn == 0) {
errn = encode_dinPhysicalValueType(stream, &exiFrag->EVSEMaximumCurrentLimit );
}
} else if ( exiFrag->EVSEMaximumPowerLimit_isUsed == 1u ) { } else if ( exiFrag->EVSEMaximumPowerLimit_isUsed == 1u ) {
/* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEMaximumPowerLimit) */ /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEMaximumPowerLimit) */
errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVSEMaximumPowerLimit */ errn = encodeNBitUnsignedInteger(stream, 8, 82);
if(errn == 0) {
errn = encode_dinPhysicalValueType(stream, &exiFrag->EVSEMaximumPowerLimit );
}
} else if ( exiFrag->EVSEMaximumPowerLimit_isUsed == 1u ) { } else if ( exiFrag->EVSEMaximumPowerLimit_isUsed == 1u ) {
/* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEMaximumPowerLimit) */ /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEMaximumPowerLimit) */
errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVSEMaximumPowerLimit */ errn = encodeNBitUnsignedInteger(stream, 8, 83);
if(errn == 0) {
errn = encode_dinPhysicalValueType(stream, &exiFrag->EVSEMaximumPowerLimit );
}
} else if ( exiFrag->EVSEMaximumVoltageLimit_isUsed == 1u ) { } else if ( exiFrag->EVSEMaximumVoltageLimit_isUsed == 1u ) {
/* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEMaximumVoltageLimit) */ /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEMaximumVoltageLimit) */
errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVSEMaximumVoltageLimit */ errn = encodeNBitUnsignedInteger(stream, 8, 84);
if(errn == 0) {
errn = encode_dinPhysicalValueType(stream, &exiFrag->EVSEMaximumVoltageLimit );
}
} else if ( exiFrag->EVSEMaximumVoltageLimit_isUsed == 1u ) { } else if ( exiFrag->EVSEMaximumVoltageLimit_isUsed == 1u ) {
/* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEMaximumVoltageLimit) */ /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEMaximumVoltageLimit) */
errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVSEMaximumVoltageLimit */ errn = encodeNBitUnsignedInteger(stream, 8, 85);
if(errn == 0) {
errn = encode_dinPhysicalValueType(stream, &exiFrag->EVSEMaximumVoltageLimit );
}
} else if ( exiFrag->EVSEMinCurrent_isUsed == 1u ) { } else if ( exiFrag->EVSEMinCurrent_isUsed == 1u ) {
/* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEMinCurrent) */ /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEMinCurrent) */
errn = encodeNBitUnsignedInteger(stream, 8, 86); errn = encodeNBitUnsignedInteger(stream, 8, 86);
@ -11110,7 +11279,16 @@ int encode_dinExiFragment(bitstream_t* stream, struct dinEXIFragment* exiFrag) {
} }
} else if ( exiFrag->EVSENotification_isUsed == 1u ) { } else if ( exiFrag->EVSENotification_isUsed == 1u ) {
/* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSENotification) */ /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSENotification) */
errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVSENotification */ errn = encodeNBitUnsignedInteger(stream, 8, 89);
if(errn == 0) {
/* FirstStartTag[CHARACTERS[ENUMERATION]] */
errn = encodeNBitUnsignedInteger(stream, 1, 0);
if(errn == 0) {
errn = encodeNBitUnsignedInteger(stream, 2, exiFrag->EVSENotification);
/* valid EE */
errn = encodeNBitUnsignedInteger(stream, 1, 0);
}
}
} else if ( exiFrag->EVSEPeakCurrentRipple_isUsed == 1u ) { } else if ( exiFrag->EVSEPeakCurrentRipple_isUsed == 1u ) {
/* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEPeakCurrentRipple) */ /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEPeakCurrentRipple) */
errn = encodeNBitUnsignedInteger(stream, 8, 90); errn = encodeNBitUnsignedInteger(stream, 8, 90);
@ -11137,10 +11315,22 @@ int encode_dinExiFragment(bitstream_t* stream, struct dinEXIFragment* exiFrag) {
} }
} else if ( exiFrag->EVSEPresentVoltage_isUsed == 1u ) { } else if ( exiFrag->EVSEPresentVoltage_isUsed == 1u ) {
/* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEPresentVoltage) */ /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEPresentVoltage) */
errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVSEPresentVoltage */ errn = encodeNBitUnsignedInteger(stream, 8, 93);
if(errn == 0) {
errn = encode_dinPhysicalValueType(stream, &exiFrag->EVSEPresentVoltage );
}
} else if ( exiFrag->EVSEProcessing_isUsed == 1u ) { } else if ( exiFrag->EVSEProcessing_isUsed == 1u ) {
/* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEProcessing) */ /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVSEProcessing) */
errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVSEProcessing */ errn = encodeNBitUnsignedInteger(stream, 8, 94);
if(errn == 0) {
/* FirstStartTag[CHARACTERS[ENUMERATION]] */
errn = encodeNBitUnsignedInteger(stream, 1, 0);
if(errn == 0) {
errn = encodeNBitUnsignedInteger(stream, 1, exiFrag->EVSEProcessing);
/* valid EE */
errn = encodeNBitUnsignedInteger(stream, 1, 0);
}
}
} else if ( exiFrag->EVSEStatus_isUsed == 1u ) { } else if ( exiFrag->EVSEStatus_isUsed == 1u ) {
/* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEStatus) */ /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EVSEStatus) */
errn = encodeNBitUnsignedInteger(stream, 8, 95); errn = encodeNBitUnsignedInteger(stream, 8, 95);
@ -11179,10 +11369,16 @@ int encode_dinExiFragment(bitstream_t* stream, struct dinEXIFragment* exiFrag) {
} }
} else if ( exiFrag->EVTargetCurrent_isUsed == 1u ) { } else if ( exiFrag->EVTargetCurrent_isUsed == 1u ) {
/* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVTargetCurrent) */ /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVTargetCurrent) */
errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVTargetCurrent */ errn = encodeNBitUnsignedInteger(stream, 8, 99);
if(errn == 0) {
errn = encode_dinPhysicalValueType(stream, &exiFrag->EVTargetCurrent );
}
} else if ( exiFrag->EVTargetVoltage_isUsed == 1u ) { } else if ( exiFrag->EVTargetVoltage_isUsed == 1u ) {
/* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVTargetVoltage) */ /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EVTargetVoltage) */
errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVTargetVoltage */ errn = encodeNBitUnsignedInteger(stream, 8, 100);
if(errn == 0) {
errn = encode_dinPhysicalValueType(stream, &exiFrag->EVTargetVoltage );
}
} else if ( exiFrag->EnergyTransferType_isUsed == 1u ) { } else if ( exiFrag->EnergyTransferType_isUsed == 1u ) {
/* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EnergyTransferType) */ /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EnergyTransferType) */
errn = encodeNBitUnsignedInteger(stream, 8, 101); errn = encodeNBitUnsignedInteger(stream, 8, 101);
@ -11285,7 +11481,20 @@ int encode_dinExiFragment(bitstream_t* stream, struct dinEXIFragment* exiFrag) {
} }
} else if ( exiFrag->GenChallenge_isUsed == 1u ) { } else if ( exiFrag->GenChallenge_isUsed == 1u ) {
/* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}GenChallenge) */ /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}GenChallenge) */
errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name GenChallenge */ errn = encodeNBitUnsignedInteger(stream, 8, 109);
if(errn == 0) {
/* FirstStartTag[CHARACTERS[STRING]] */
errn = encodeNBitUnsignedInteger(stream, 1, 0);
if(errn == 0) {
/* encode string as string table miss (+2 len)*/
errn = encodeUnsignedInteger16(stream, (uint16_t)(exiFrag->GenChallenge.charactersLen + 2));
if (errn == 0) {
errn = encodeCharacters(stream, exiFrag->GenChallenge.characters, exiFrag->GenChallenge.charactersLen);
}
/* valid EE */
errn = encodeNBitUnsignedInteger(stream, 1, 0);
}
}
} else if ( exiFrag->HMACOutputLength_isUsed == 1u ) { } else if ( exiFrag->HMACOutputLength_isUsed == 1u ) {
/* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}HMACOutputLength) */ /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}HMACOutputLength) */
errn = encodeNBitUnsignedInteger(stream, 8, 110); errn = encodeNBitUnsignedInteger(stream, 8, 110);
@ -11349,7 +11558,10 @@ int encode_dinExiFragment(bitstream_t* stream, struct dinEXIFragment* exiFrag) {
} }
} else if ( exiFrag->ListOfRootCertificateIDs_isUsed == 1u ) { } else if ( exiFrag->ListOfRootCertificateIDs_isUsed == 1u ) {
/* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ListOfRootCertificateIDs) */ /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ListOfRootCertificateIDs) */
errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name ListOfRootCertificateIDs */ errn = encodeNBitUnsignedInteger(stream, 8, 116);
if(errn == 0) {
errn = encode_dinListOfRootCertificateIDsType(stream, &exiFrag->ListOfRootCertificateIDs );
}
} else if ( exiFrag->Manifest_isUsed == 1u ) { } else if ( exiFrag->Manifest_isUsed == 1u ) {
/* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Manifest) */ /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Manifest) */
errn = encodeNBitUnsignedInteger(stream, 8, 117); errn = encodeNBitUnsignedInteger(stream, 8, 117);
@ -11374,7 +11586,10 @@ int encode_dinExiFragment(bitstream_t* stream, struct dinEXIFragment* exiFrag) {
} }
} else if ( exiFrag->MeterInfo_isUsed == 1u ) { } else if ( exiFrag->MeterInfo_isUsed == 1u ) {
/* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}MeterInfo) */ /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}MeterInfo) */
errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name MeterInfo */ errn = encodeNBitUnsignedInteger(stream, 8, 119);
if(errn == 0) {
errn = encode_dinMeterInfoType(stream, &exiFrag->MeterInfo );
}
} else if ( exiFrag->MeterReading_isUsed == 1u ) { } else if ( exiFrag->MeterReading_isUsed == 1u ) {
/* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}MeterReading) */ /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}MeterReading) */
errn = encodeNBitUnsignedInteger(stream, 8, 120); errn = encodeNBitUnsignedInteger(stream, 8, 120);
@ -11456,7 +11671,16 @@ int encode_dinExiFragment(bitstream_t* stream, struct dinEXIFragment* exiFrag) {
} }
} else if ( exiFrag->NotificationMaxDelay_isUsed == 1u ) { } else if ( exiFrag->NotificationMaxDelay_isUsed == 1u ) {
/* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}NotificationMaxDelay) */ /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}NotificationMaxDelay) */
errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name NotificationMaxDelay */ errn = encodeNBitUnsignedInteger(stream, 8, 128);
if(errn == 0) {
/* First(xsi:type)StartTag[CHARACTERS[UNSIGNED_INTEGER]] */
errn = encodeNBitUnsignedInteger(stream, 1, 0);
if(errn == 0) {
errn = encodeUnsignedInteger32(stream, exiFrag->NotificationMaxDelay);
/* valid EE */
errn = encodeNBitUnsignedInteger(stream, 1, 0);
}
}
} else if ( exiFrag->NumEPriceLevels_isUsed == 1u ) { } else if ( exiFrag->NumEPriceLevels_isUsed == 1u ) {
/* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}NumEPriceLevels) */ /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}NumEPriceLevels) */
errn = encodeNBitUnsignedInteger(stream, 8, 129); errn = encodeNBitUnsignedInteger(stream, 8, 129);
@ -11528,7 +11752,19 @@ int encode_dinExiFragment(bitstream_t* stream, struct dinEXIFragment* exiFrag) {
} }
} else if ( exiFrag->PGPKeyPacket_isUsed == 1u ) { } else if ( exiFrag->PGPKeyPacket_isUsed == 1u ) {
/* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPKeyPacket) */ /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPKeyPacket) */
errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name PGPKeyPacket */ errn = encodeNBitUnsignedInteger(stream, 8, 135);
if(errn == 0) {
/* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */
errn = encodeNBitUnsignedInteger(stream, 1, 0);
if(errn == 0) {
errn = encodeUnsignedInteger16(stream, (uint16_t)(exiFrag->PGPKeyPacket.bytesLen));
if (errn == 0) {
errn = encodeBytes(stream, exiFrag->PGPKeyPacket.bytes, exiFrag->PGPKeyPacket.bytesLen);
}
/* valid EE */
errn = encodeNBitUnsignedInteger(stream, 1, 0);
}
}
} else if ( exiFrag->PMax_isUsed == 1u ) { } else if ( exiFrag->PMax_isUsed == 1u ) {
/* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}PMax) */ /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}PMax) */
errn = encodeNBitUnsignedInteger(stream, 8, 136); errn = encodeNBitUnsignedInteger(stream, 8, 136);
@ -11579,7 +11815,16 @@ int encode_dinExiFragment(bitstream_t* stream, struct dinEXIFragment* exiFrag) {
} }
} else if ( exiFrag->ParameterSetID_isUsed == 1u ) { } else if ( exiFrag->ParameterSetID_isUsed == 1u ) {
/* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ParameterSetID) */ /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ParameterSetID) */
errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name ParameterSetID */ errn = encodeNBitUnsignedInteger(stream, 8, 142);
if(errn == 0) {
/* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */
errn = encodeNBitUnsignedInteger(stream, 1, 0);
if(errn == 0) {
errn = encodeInteger16(stream, exiFrag->ParameterSetID);
/* valid EE */
errn = encodeNBitUnsignedInteger(stream, 1, 0);
}
}
} else if ( exiFrag->PaymentDetailsReq_isUsed == 1u ) { } else if ( exiFrag->PaymentDetailsReq_isUsed == 1u ) {
/* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PaymentDetailsReq) */ /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PaymentDetailsReq) */
errn = encodeNBitUnsignedInteger(stream, 8, 143); errn = encodeNBitUnsignedInteger(stream, 8, 143);
@ -11750,7 +11995,16 @@ int encode_dinExiFragment(bitstream_t* stream, struct dinEXIFragment* exiFrag) {
} }
} else if ( exiFrag->ResponseCode_isUsed == 1u ) { } else if ( exiFrag->ResponseCode_isUsed == 1u ) {
/* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode) */ /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ResponseCode) */
errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name ResponseCode */ errn = encodeNBitUnsignedInteger(stream, 8, 163);
if(errn == 0) {
/* FirstStartTag[CHARACTERS[ENUMERATION]] */
errn = encodeNBitUnsignedInteger(stream, 1, 0);
if(errn == 0) {
errn = encodeNBitUnsignedInteger(stream, 5, exiFrag->ResponseCode);
/* valid EE */
errn = encodeNBitUnsignedInteger(stream, 1, 0);
}
}
} else if ( exiFrag->RetrievalMethod_isUsed == 1u ) { } else if ( exiFrag->RetrievalMethod_isUsed == 1u ) {
/* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}RetrievalMethod) */ /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}RetrievalMethod) */
errn = encodeNBitUnsignedInteger(stream, 8, 164); errn = encodeNBitUnsignedInteger(stream, 8, 164);
@ -11799,10 +12053,28 @@ int encode_dinExiFragment(bitstream_t* stream, struct dinEXIFragment* exiFrag) {
} }
} else if ( exiFrag->SAScheduleTupleID_isUsed == 1u ) { } else if ( exiFrag->SAScheduleTupleID_isUsed == 1u ) {
/* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}SAScheduleTupleID) */ /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}SAScheduleTupleID) */
errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name SAScheduleTupleID */ errn = encodeNBitUnsignedInteger(stream, 8, 169);
if(errn == 0) {
/* FirstStartTag[CHARACTERS[INTEGER]] */
errn = encodeNBitUnsignedInteger(stream, 1, 0);
if(errn == 0) {
errn = encodeInteger16(stream, exiFrag->SAScheduleTupleID);
/* valid EE */
errn = encodeNBitUnsignedInteger(stream, 1, 0);
}
}
} else if ( exiFrag->SAScheduleTupleID_isUsed == 1u ) { } else if ( exiFrag->SAScheduleTupleID_isUsed == 1u ) {
/* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SAScheduleTupleID) */ /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SAScheduleTupleID) */
errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name SAScheduleTupleID */ errn = encodeNBitUnsignedInteger(stream, 8, 170);
if(errn == 0) {
/* FirstStartTag[CHARACTERS[INTEGER]] */
errn = encodeNBitUnsignedInteger(stream, 1, 0);
if(errn == 0) {
errn = encodeInteger16(stream, exiFrag->SAScheduleTupleID);
/* valid EE */
errn = encodeNBitUnsignedInteger(stream, 1, 0);
}
}
} else if ( exiFrag->SASchedules_isUsed == 1u ) { } else if ( exiFrag->SASchedules_isUsed == 1u ) {
/* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SASchedules) */ /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}SASchedules) */
errn = encodeNBitUnsignedInteger(stream, 8, 171); errn = encodeNBitUnsignedInteger(stream, 8, 171);
@ -11917,10 +12189,28 @@ int encode_dinExiFragment(bitstream_t* stream, struct dinEXIFragment* exiFrag) {
} }
} else if ( exiFrag->ServiceCategory_isUsed == 1u ) { } else if ( exiFrag->ServiceCategory_isUsed == 1u ) {
/* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceCategory) */ /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceCategory) */
errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name ServiceCategory */ errn = encodeNBitUnsignedInteger(stream, 8, 183);
if(errn == 0) {
/* FirstStartTag[CHARACTERS[ENUMERATION]] */
errn = encodeNBitUnsignedInteger(stream, 1, 0);
if(errn == 0) {
errn = encodeNBitUnsignedInteger(stream, 2, exiFrag->ServiceCategory);
/* valid EE */
errn = encodeNBitUnsignedInteger(stream, 1, 0);
}
}
} else if ( exiFrag->ServiceCategory_isUsed == 1u ) { } else if ( exiFrag->ServiceCategory_isUsed == 1u ) {
/* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceCategory) */ /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceCategory) */
errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name ServiceCategory */ errn = encodeNBitUnsignedInteger(stream, 8, 184);
if(errn == 0) {
/* FirstStartTag[CHARACTERS[ENUMERATION]] */
errn = encodeNBitUnsignedInteger(stream, 1, 0);
if(errn == 0) {
errn = encodeNBitUnsignedInteger(stream, 2, exiFrag->ServiceCategory);
/* valid EE */
errn = encodeNBitUnsignedInteger(stream, 1, 0);
}
}
} else if ( exiFrag->ServiceCharge_isUsed == 1u ) { } else if ( exiFrag->ServiceCharge_isUsed == 1u ) {
/* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceCharge) */ /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceCharge) */
errn = encodeNBitUnsignedInteger(stream, 8, 185); errn = encodeNBitUnsignedInteger(stream, 8, 185);
@ -11953,10 +12243,28 @@ int encode_dinExiFragment(bitstream_t* stream, struct dinEXIFragment* exiFrag) {
} }
} else if ( exiFrag->ServiceID_isUsed == 1u ) { } else if ( exiFrag->ServiceID_isUsed == 1u ) {
/* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceID) */ /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceID) */
errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name ServiceID */ errn = encodeNBitUnsignedInteger(stream, 8, 190);
if(errn == 0) {
/* FirstStartTag[CHARACTERS[UNSIGNED_INTEGER]] */
errn = encodeNBitUnsignedInteger(stream, 1, 0);
if(errn == 0) {
errn = encodeUnsignedInteger16(stream, exiFrag->ServiceID);
/* valid EE */
errn = encodeNBitUnsignedInteger(stream, 1, 0);
}
}
} else if ( exiFrag->ServiceID_isUsed == 1u ) { } else if ( exiFrag->ServiceID_isUsed == 1u ) {
/* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceID) */ /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceID) */
errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name ServiceID */ errn = encodeNBitUnsignedInteger(stream, 8, 191);
if(errn == 0) {
/* FirstStartTag[CHARACTERS[UNSIGNED_INTEGER]] */
errn = encodeNBitUnsignedInteger(stream, 1, 0);
if(errn == 0) {
errn = encodeUnsignedInteger16(stream, exiFrag->ServiceID);
/* valid EE */
errn = encodeNBitUnsignedInteger(stream, 1, 0);
}
}
} else if ( exiFrag->ServiceList_isUsed == 1u ) { } else if ( exiFrag->ServiceList_isUsed == 1u ) {
/* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceList) */ /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceList) */
errn = encodeNBitUnsignedInteger(stream, 8, 192); errn = encodeNBitUnsignedInteger(stream, 8, 192);
@ -11999,10 +12307,36 @@ int encode_dinExiFragment(bitstream_t* stream, struct dinEXIFragment* exiFrag) {
} }
} else if ( exiFrag->ServiceScope_isUsed == 1u ) { } else if ( exiFrag->ServiceScope_isUsed == 1u ) {
/* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceScope) */ /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceScope) */
errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name ServiceScope */ errn = encodeNBitUnsignedInteger(stream, 8, 197);
if(errn == 0) {
/* FirstStartTag[CHARACTERS[STRING]] */
errn = encodeNBitUnsignedInteger(stream, 1, 0);
if(errn == 0) {
/* encode string as string table miss (+2 len)*/
errn = encodeUnsignedInteger16(stream, (uint16_t)(exiFrag->ServiceScope.charactersLen + 2));
if (errn == 0) {
errn = encodeCharacters(stream, exiFrag->ServiceScope.characters, exiFrag->ServiceScope.charactersLen);
}
/* valid EE */
errn = encodeNBitUnsignedInteger(stream, 1, 0);
}
}
} else if ( exiFrag->ServiceScope_isUsed == 1u ) { } else if ( exiFrag->ServiceScope_isUsed == 1u ) {
/* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceScope) */ /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceScope) */
errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name ServiceScope */ errn = encodeNBitUnsignedInteger(stream, 8, 198);
if(errn == 0) {
/* FirstStartTag[CHARACTERS[STRING]] */
errn = encodeNBitUnsignedInteger(stream, 1, 0);
if(errn == 0) {
/* encode string as string table miss (+2 len)*/
errn = encodeUnsignedInteger16(stream, (uint16_t)(exiFrag->ServiceScope.charactersLen + 2));
if (errn == 0) {
errn = encodeCharacters(stream, exiFrag->ServiceScope.characters, exiFrag->ServiceScope.charactersLen);
}
/* valid EE */
errn = encodeNBitUnsignedInteger(stream, 1, 0);
}
}
} else if ( exiFrag->ServiceTag_isUsed == 1u ) { } else if ( exiFrag->ServiceTag_isUsed == 1u ) {
/* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceTag) */ /* START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceTag) */
errn = encodeNBitUnsignedInteger(stream, 8, 199); errn = encodeNBitUnsignedInteger(stream, 8, 199);
@ -12011,10 +12345,34 @@ int encode_dinExiFragment(bitstream_t* stream, struct dinEXIFragment* exiFrag) {
} }
} else if ( exiFrag->SessionID_isUsed == 1u ) { } else if ( exiFrag->SessionID_isUsed == 1u ) {
/* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}SessionID) */ /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}SessionID) */
errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name SessionID */ errn = encodeNBitUnsignedInteger(stream, 8, 200);
if(errn == 0) {
/* FirstStartTag[CHARACTERS[BINARY_HEX]] */
errn = encodeNBitUnsignedInteger(stream, 1, 0);
if(errn == 0) {
errn = encodeUnsignedInteger16(stream, (uint16_t)(exiFrag->SessionID.bytesLen));
if (errn == 0) {
errn = encodeBytes(stream, exiFrag->SessionID.bytes, exiFrag->SessionID.bytesLen);
}
/* valid EE */
errn = encodeNBitUnsignedInteger(stream, 1, 0);
}
}
} else if ( exiFrag->SessionID_isUsed == 1u ) { } else if ( exiFrag->SessionID_isUsed == 1u ) {
/* START_ELEMENT({urn:iso:15118:2:2010:MsgHeader}SessionID) */ /* START_ELEMENT({urn:iso:15118:2:2010:MsgHeader}SessionID) */
errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name SessionID */ errn = encodeNBitUnsignedInteger(stream, 8, 201);
if(errn == 0) {
/* FirstStartTag[CHARACTERS[BINARY_HEX]] */
errn = encodeNBitUnsignedInteger(stream, 1, 0);
if(errn == 0) {
errn = encodeUnsignedInteger16(stream, (uint16_t)(exiFrag->SessionID.bytesLen));
if (errn == 0) {
errn = encodeBytes(stream, exiFrag->SessionID.bytes, exiFrag->SessionID.bytesLen);
}
/* valid EE */
errn = encodeNBitUnsignedInteger(stream, 1, 0);
}
}
} else if ( exiFrag->SessionSetupReq_isUsed == 1u ) { } else if ( exiFrag->SessionSetupReq_isUsed == 1u ) {
/* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}SessionSetupReq) */ /* START_ELEMENT({urn:iso:15118:2:2010:MsgBody}SessionSetupReq) */
errn = encodeNBitUnsignedInteger(stream, 8, 202); errn = encodeNBitUnsignedInteger(stream, 8, 202);

View file

@ -18,7 +18,7 @@
/******************************************************************* /*******************************************************************
* *
* @author Daniel.Peintner.EXT@siemens.com * @author Daniel.Peintner.EXT@siemens.com
* @version 2017-09-26 * @version 2017-11-16
* @contact Richard.Kuntschke@siemens.com * @contact Richard.Kuntschke@siemens.com
* *
* <p>Code generated by EXIdizer</p> * <p>Code generated by EXIdizer</p>

View file

@ -18,7 +18,7 @@
/******************************************************************* /*******************************************************************
* *
* @author Daniel.Peintner.EXT@siemens.com * @author Daniel.Peintner.EXT@siemens.com
* @version 2017-09-19 * @version 2017-11-16
* @contact Richard.Kuntschke@siemens.com * @contact Richard.Kuntschke@siemens.com
* *
* <p>Code generated by EXIdizer</p> * <p>Code generated by EXIdizer</p>

View file

@ -18,7 +18,7 @@
/******************************************************************* /*******************************************************************
* *
* @author Daniel.Peintner.EXT@siemens.com * @author Daniel.Peintner.EXT@siemens.com
* @version 2017-09-19 * @version 2017-11-16
* @contact Richard.Kuntschke@siemens.com * @contact Richard.Kuntschke@siemens.com
* *
* <p>Code generated by EXIdizer</p> * <p>Code generated by EXIdizer</p>

View file

@ -18,7 +18,7 @@
/******************************************************************* /*******************************************************************
* *
* @author Daniel.Peintner.EXT@siemens.com * @author Daniel.Peintner.EXT@siemens.com
* @version 2017-09-19 * @version 2017-11-16
* @contact Richard.Kuntschke@siemens.com * @contact Richard.Kuntschke@siemens.com
* *
* <p>Code generated by EXIdizer</p> * <p>Code generated by EXIdizer</p>
@ -16901,11 +16901,13 @@ int decode_iso1ExiFragment(bitstream_t* stream, struct iso1EXIFragment* exiFrag)
break; break;
case 2: case 2:
/* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}AC_EVSEStatus) */ /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}AC_EVSEStatus) */
errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name AC_EVSEStatus */ errn = decode_iso1AC_EVSEStatusType(stream, &exiFrag->AC_EVSEStatus);
exiFrag->AC_EVSEStatus_isUsed = 1u;
break; break;
case 3: case 3:
/* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}AC_EVSEStatus) */ /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}AC_EVSEStatus) */
errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name AC_EVSEStatus */ errn = decode_iso1AC_EVSEStatusType(stream, &exiFrag->AC_EVSEStatus);
exiFrag->AC_EVSEStatus_isUsed = 1u;
break; break;
case 4: case 4:
/* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}AuthorizationReq) */ /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}AuthorizationReq) */
@ -16929,11 +16931,31 @@ int decode_iso1ExiFragment(bitstream_t* stream, struct iso1EXIFragment* exiFrag)
break; break;
case 8: case 8:
/* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}BulkChargingComplete) */ /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}BulkChargingComplete) */
errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name BulkChargingComplete */ /* FirstStartTag[CHARACTERS[BOOLEAN]] */
errn = decodeNBitUnsignedInteger(stream, 1, &eventCode);
if(errn == 0) {
if(eventCode == 0) {
errn = decodeBoolean(stream, &exiFrag->BulkChargingComplete);
exiFrag->BulkChargingComplete_isUsed = 1u;
} else {
/* Second level event (e.g., xsi:type, xsi:nil, ...) */
errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS;
}
}
break; break;
case 9: case 9:
/* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}BulkChargingComplete) */ /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}BulkChargingComplete) */
errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name BulkChargingComplete */ /* FirstStartTag[CHARACTERS[BOOLEAN]] */
errn = decodeNBitUnsignedInteger(stream, 1, &eventCode);
if(errn == 0) {
if(eventCode == 0) {
errn = decodeBoolean(stream, &exiFrag->BulkChargingComplete);
exiFrag->BulkChargingComplete_isUsed = 1u;
} else {
/* Second level event (e.g., xsi:type, xsi:nil, ...) */
errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS;
}
}
break; break;
case 10: case 10:
/* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}BulkSOC) */ /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}BulkSOC) */
@ -16967,7 +16989,23 @@ int decode_iso1ExiFragment(bitstream_t* stream, struct iso1EXIFragment* exiFrag)
break; break;
case 14: case 14:
/* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}Certificate) */ /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}Certificate) */
errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name Certificate */ /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */
errn = decodeNBitUnsignedInteger(stream, 1, &eventCode);
if(errn == 0) {
if(eventCode == 0) {
errn = decodeUnsignedInteger16(stream, &exiFrag->Certificate.bytesLen);
if (errn == 0) {
errn = (exiFrag->Certificate.bytesLen) <= EXIFragment_Certificate_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER;
}
if (errn == 0) {
errn = decodeBytes(stream, exiFrag->Certificate.bytesLen, exiFrag->Certificate.bytes);
}
exiFrag->Certificate_isUsed = 1u;
} else {
/* Second level event (e.g., xsi:type, xsi:nil, ...) */
errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS;
}
}
break; break;
case 15: case 15:
/* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}CertificateInstallationReq) */ /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}CertificateInstallationReq) */
@ -17021,11 +17059,31 @@ int decode_iso1ExiFragment(bitstream_t* stream, struct iso1EXIFragment* exiFrag)
break; break;
case 23: case 23:
/* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ChargingComplete) */ /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ChargingComplete) */
errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name ChargingComplete */ /* FirstStartTag[CHARACTERS[BOOLEAN]] */
errn = decodeNBitUnsignedInteger(stream, 1, &eventCode);
if(errn == 0) {
if(eventCode == 0) {
errn = decodeBoolean(stream, &exiFrag->ChargingComplete);
exiFrag->ChargingComplete_isUsed = 1u;
} else {
/* Second level event (e.g., xsi:type, xsi:nil, ...) */
errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS;
}
}
break; break;
case 24: case 24:
/* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ChargingComplete) */ /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ChargingComplete) */
errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name ChargingComplete */ /* FirstStartTag[CHARACTERS[BOOLEAN]] */
errn = decodeNBitUnsignedInteger(stream, 1, &eventCode);
if(errn == 0) {
if(eventCode == 0) {
errn = decodeBoolean(stream, &exiFrag->ChargingComplete);
exiFrag->ChargingComplete_isUsed = 1u;
} else {
/* Second level event (e.g., xsi:type, xsi:nil, ...) */
errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS;
}
}
break; break;
case 25: case 25:
/* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ChargingProfile) */ /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ChargingProfile) */
@ -17098,11 +17156,13 @@ int decode_iso1ExiFragment(bitstream_t* stream, struct iso1EXIFragment* exiFrag)
break; break;
case 33: case 33:
/* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ContractSignatureCertChain) */ /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ContractSignatureCertChain) */
errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name ContractSignatureCertChain */ errn = decode_iso1CertificateChainType(stream, &exiFrag->ContractSignatureCertChain);
exiFrag->ContractSignatureCertChain_isUsed = 1u;
break; break;
case 34: case 34:
/* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ContractSignatureEncryptedPrivateKey) */ /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ContractSignatureEncryptedPrivateKey) */
errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name ContractSignatureEncryptedPrivateKey */ errn = decode_iso1ContractSignatureEncryptedPrivateKeyType(stream, &exiFrag->ContractSignatureEncryptedPrivateKey);
exiFrag->ContractSignatureEncryptedPrivateKey_isUsed = 1u;
break; break;
case 35: case 35:
/* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}Cost) */ /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}Cost) */
@ -17136,23 +17196,28 @@ int decode_iso1ExiFragment(bitstream_t* stream, struct iso1EXIFragment* exiFrag)
break; break;
case 41: case 41:
/* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}DC_EVSEStatus) */ /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}DC_EVSEStatus) */
errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name DC_EVSEStatus */ errn = decode_iso1DC_EVSEStatusType(stream, &exiFrag->DC_EVSEStatus);
exiFrag->DC_EVSEStatus_isUsed = 1u;
break; break;
case 42: case 42:
/* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}DC_EVSEStatus) */ /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}DC_EVSEStatus) */
errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name DC_EVSEStatus */ errn = decode_iso1DC_EVSEStatusType(stream, &exiFrag->DC_EVSEStatus);
exiFrag->DC_EVSEStatus_isUsed = 1u;
break; break;
case 43: case 43:
/* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}DC_EVStatus) */ /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}DC_EVStatus) */
errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name DC_EVStatus */ errn = decode_iso1DC_EVStatusType(stream, &exiFrag->DC_EVStatus);
exiFrag->DC_EVStatus_isUsed = 1u;
break; break;
case 44: case 44:
/* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}DC_EVStatus) */ /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}DC_EVStatus) */
errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name DC_EVStatus */ errn = decode_iso1DC_EVStatusType(stream, &exiFrag->DC_EVStatus);
exiFrag->DC_EVStatus_isUsed = 1u;
break; break;
case 45: case 45:
/* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}DHpublickey) */ /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}DHpublickey) */
errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name DHpublickey */ errn = decode_iso1DiffieHellmanPublickeyType(stream, &exiFrag->DHpublickey);
exiFrag->DHpublickey_isUsed = 1u;
break; break;
case 46: case 46:
/* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DSAKeyValue) */ /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DSAKeyValue) */
@ -17280,27 +17345,33 @@ int decode_iso1ExiFragment(bitstream_t* stream, struct iso1EXIFragment* exiFrag)
break; break;
case 59: case 59:
/* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVMaximumCurrentLimit) */ /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVMaximumCurrentLimit) */
errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVMaximumCurrentLimit */ errn = decode_iso1PhysicalValueType(stream, &exiFrag->EVMaximumCurrentLimit);
exiFrag->EVMaximumCurrentLimit_isUsed = 1u;
break; break;
case 60: case 60:
/* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVMaximumCurrentLimit) */ /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVMaximumCurrentLimit) */
errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVMaximumCurrentLimit */ errn = decode_iso1PhysicalValueType(stream, &exiFrag->EVMaximumCurrentLimit);
exiFrag->EVMaximumCurrentLimit_isUsed = 1u;
break; break;
case 61: case 61:
/* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVMaximumPowerLimit) */ /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVMaximumPowerLimit) */
errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVMaximumPowerLimit */ errn = decode_iso1PhysicalValueType(stream, &exiFrag->EVMaximumPowerLimit);
exiFrag->EVMaximumPowerLimit_isUsed = 1u;
break; break;
case 62: case 62:
/* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVMaximumPowerLimit) */ /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVMaximumPowerLimit) */
errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVMaximumPowerLimit */ errn = decode_iso1PhysicalValueType(stream, &exiFrag->EVMaximumPowerLimit);
exiFrag->EVMaximumPowerLimit_isUsed = 1u;
break; break;
case 63: case 63:
/* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVMaximumVoltageLimit) */ /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVMaximumVoltageLimit) */
errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVMaximumVoltageLimit */ errn = decode_iso1PhysicalValueType(stream, &exiFrag->EVMaximumVoltageLimit);
exiFrag->EVMaximumVoltageLimit_isUsed = 1u;
break; break;
case 64: case 64:
/* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVMaximumVoltageLimit) */ /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVMaximumVoltageLimit) */
errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVMaximumVoltageLimit */ errn = decode_iso1PhysicalValueType(stream, &exiFrag->EVMaximumVoltageLimit);
exiFrag->EVMaximumVoltageLimit_isUsed = 1u;
break; break;
case 65: case 65:
/* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVMinCurrent) */ /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVMinCurrent) */
@ -17372,7 +17443,26 @@ int decode_iso1ExiFragment(bitstream_t* stream, struct iso1EXIFragment* exiFrag)
break; break;
case 73: case 73:
/* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVSEID) */ /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVSEID) */
errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVSEID */ /* FirstStartTag[CHARACTERS[STRING]] */
errn = decodeNBitUnsignedInteger(stream, 1, &eventCode);
if(errn == 0) {
if(eventCode == 0) {
errn = decodeUnsignedInteger16(stream, &exiFrag->EVSEID.charactersLen);
if (errn == 0) {
if (exiFrag->EVSEID.charactersLen >= 2) {
exiFrag->EVSEID.charactersLen = (uint16_t)(exiFrag->EVSEID.charactersLen - 2); /* string table miss */
errn = decodeCharacters(stream, exiFrag->EVSEID.charactersLen, exiFrag->EVSEID.characters, EXIFragment_EVSEID_CHARACTERS_SIZE);
} else {
/* string table hit */
errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED;
}
}
exiFrag->EVSEID_isUsed = 1u;
} else {
/* Second level event (e.g., xsi:type, xsi:nil, ...) */
errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS;
}
}
break; break;
case 74: case 74:
/* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSEIsolationStatus) */ /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSEIsolationStatus) */
@ -17391,35 +17481,43 @@ int decode_iso1ExiFragment(bitstream_t* stream, struct iso1EXIFragment* exiFrag)
break; break;
case 75: case 75:
/* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVSEMaxCurrent) */ /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVSEMaxCurrent) */
errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVSEMaxCurrent */ errn = decode_iso1PhysicalValueType(stream, &exiFrag->EVSEMaxCurrent);
exiFrag->EVSEMaxCurrent_isUsed = 1u;
break; break;
case 76: case 76:
/* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSEMaxCurrent) */ /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSEMaxCurrent) */
errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVSEMaxCurrent */ errn = decode_iso1PhysicalValueType(stream, &exiFrag->EVSEMaxCurrent);
exiFrag->EVSEMaxCurrent_isUsed = 1u;
break; break;
case 77: case 77:
/* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVSEMaximumCurrentLimit) */ /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVSEMaximumCurrentLimit) */
errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVSEMaximumCurrentLimit */ errn = decode_iso1PhysicalValueType(stream, &exiFrag->EVSEMaximumCurrentLimit);
exiFrag->EVSEMaximumCurrentLimit_isUsed = 1u;
break; break;
case 78: case 78:
/* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSEMaximumCurrentLimit) */ /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSEMaximumCurrentLimit) */
errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVSEMaximumCurrentLimit */ errn = decode_iso1PhysicalValueType(stream, &exiFrag->EVSEMaximumCurrentLimit);
exiFrag->EVSEMaximumCurrentLimit_isUsed = 1u;
break; break;
case 79: case 79:
/* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVSEMaximumPowerLimit) */ /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVSEMaximumPowerLimit) */
errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVSEMaximumPowerLimit */ errn = decode_iso1PhysicalValueType(stream, &exiFrag->EVSEMaximumPowerLimit);
exiFrag->EVSEMaximumPowerLimit_isUsed = 1u;
break; break;
case 80: case 80:
/* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSEMaximumPowerLimit) */ /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSEMaximumPowerLimit) */
errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVSEMaximumPowerLimit */ errn = decode_iso1PhysicalValueType(stream, &exiFrag->EVSEMaximumPowerLimit);
exiFrag->EVSEMaximumPowerLimit_isUsed = 1u;
break; break;
case 81: case 81:
/* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVSEMaximumVoltageLimit) */ /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVSEMaximumVoltageLimit) */
errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVSEMaximumVoltageLimit */ errn = decode_iso1PhysicalValueType(stream, &exiFrag->EVSEMaximumVoltageLimit);
exiFrag->EVSEMaximumVoltageLimit_isUsed = 1u;
break; break;
case 82: case 82:
/* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSEMaximumVoltageLimit) */ /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSEMaximumVoltageLimit) */
errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVSEMaximumVoltageLimit */ errn = decode_iso1PhysicalValueType(stream, &exiFrag->EVSEMaximumVoltageLimit);
exiFrag->EVSEMaximumVoltageLimit_isUsed = 1u;
break; break;
case 83: case 83:
/* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSEMinimumCurrentLimit) */ /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSEMinimumCurrentLimit) */
@ -17477,11 +17575,23 @@ int decode_iso1ExiFragment(bitstream_t* stream, struct iso1EXIFragment* exiFrag)
break; break;
case 90: case 90:
/* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVSEPresentVoltage) */ /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVSEPresentVoltage) */
errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVSEPresentVoltage */ errn = decode_iso1PhysicalValueType(stream, &exiFrag->EVSEPresentVoltage);
exiFrag->EVSEPresentVoltage_isUsed = 1u;
break; break;
case 91: case 91:
/* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVSEProcessing) */ /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVSEProcessing) */
errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVSEProcessing */ /* FirstStartTag[CHARACTERS[ENUMERATION]] */
errn = decodeNBitUnsignedInteger(stream, 1, &eventCode);
if(errn == 0) {
if(eventCode == 0) {
errn = decodeNBitUnsignedInteger(stream, 2, &uint32);
exiFrag->EVSEProcessing = (iso1EVSEProcessingType) uint32;
exiFrag->EVSEProcessing_isUsed = 1u;
} else {
/* Second level event (e.g., xsi:type, xsi:nil, ...) */
errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS;
}
}
break; break;
case 92: case 92:
/* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSEStatus) */ /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSEStatus) */
@ -17505,7 +17615,17 @@ int decode_iso1ExiFragment(bitstream_t* stream, struct iso1EXIFragment* exiFrag)
break; break;
case 94: case 94:
/* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVSETimeStamp) */ /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVSETimeStamp) */
errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVSETimeStamp */ /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */
errn = decodeNBitUnsignedInteger(stream, 1, &eventCode);
if(errn == 0) {
if(eventCode == 0) {
errn = decodeInteger64(stream, &exiFrag->EVSETimeStamp);
exiFrag->EVSETimeStamp_isUsed = 1u;
} else {
/* Second level event (e.g., xsi:type, xsi:nil, ...) */
errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS;
}
}
break; break;
case 95: case 95:
/* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVSEVoltageLimitAchieved) */ /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVSEVoltageLimitAchieved) */
@ -17528,11 +17648,13 @@ int decode_iso1ExiFragment(bitstream_t* stream, struct iso1EXIFragment* exiFrag)
break; break;
case 97: case 97:
/* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVTargetCurrent) */ /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVTargetCurrent) */
errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVTargetCurrent */ errn = decode_iso1PhysicalValueType(stream, &exiFrag->EVTargetCurrent);
exiFrag->EVTargetCurrent_isUsed = 1u;
break; break;
case 98: case 98:
/* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVTargetVoltage) */ /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVTargetVoltage) */
errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVTargetVoltage */ errn = decode_iso1PhysicalValueType(stream, &exiFrag->EVTargetVoltage);
exiFrag->EVTargetVoltage_isUsed = 1u;
break; break;
case 99: case 99:
/* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EnergyTransferMode) */ /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EnergyTransferMode) */
@ -17663,7 +17785,23 @@ int decode_iso1ExiFragment(bitstream_t* stream, struct iso1EXIFragment* exiFrag)
break; break;
case 107: case 107:
/* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}GenChallenge) */ /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}GenChallenge) */
errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name GenChallenge */ /* FirstStartTag[CHARACTERS[BINARY_BASE64]] */
errn = decodeNBitUnsignedInteger(stream, 1, &eventCode);
if(errn == 0) {
if(eventCode == 0) {
errn = decodeUnsignedInteger16(stream, &exiFrag->GenChallenge.bytesLen);
if (errn == 0) {
errn = (exiFrag->GenChallenge.bytesLen) <= EXIFragment_GenChallenge_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER;
}
if (errn == 0) {
errn = decodeBytes(stream, exiFrag->GenChallenge.bytesLen, exiFrag->GenChallenge.bytes);
}
exiFrag->GenChallenge_isUsed = 1u;
} else {
/* Second level event (e.g., xsi:type, xsi:nil, ...) */
errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS;
}
}
break; break;
case 108: case 108:
/* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}HMACOutputLength) */ /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}HMACOutputLength) */
@ -17739,7 +17877,8 @@ int decode_iso1ExiFragment(bitstream_t* stream, struct iso1EXIFragment* exiFrag)
break; break;
case 114: case 114:
/* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ListOfRootCertificateIDs) */ /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ListOfRootCertificateIDs) */
errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name ListOfRootCertificateIDs */ errn = decode_iso1ListOfRootCertificateIDsType(stream, &exiFrag->ListOfRootCertificateIDs);
exiFrag->ListOfRootCertificateIDs_isUsed = 1u;
break; break;
case 115: case 115:
/* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Manifest) */ /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Manifest) */
@ -17785,7 +17924,8 @@ int decode_iso1ExiFragment(bitstream_t* stream, struct iso1EXIFragment* exiFrag)
break; break;
case 118: case 118:
/* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}MeterInfo) */ /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}MeterInfo) */
errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name MeterInfo */ errn = decode_iso1MeterInfoType(stream, &exiFrag->MeterInfo);
exiFrag->MeterInfo_isUsed = 1u;
break; break;
case 119: case 119:
/* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}MeterReading) */ /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}MeterReading) */
@ -17989,7 +18129,23 @@ int decode_iso1ExiFragment(bitstream_t* stream, struct iso1EXIFragment* exiFrag)
break; break;
case 134: case 134:
/* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPKeyPacket) */ /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPKeyPacket) */
errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name PGPKeyPacket */ /* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */
errn = decodeNBitUnsignedInteger(stream, 1, &eventCode);
if(errn == 0) {
if(eventCode == 0) {
errn = decodeUnsignedInteger16(stream, &exiFrag->PGPKeyPacket.bytesLen);
if (errn == 0) {
errn = (exiFrag->PGPKeyPacket.bytesLen) <= EXIFragment_PGPKeyPacket_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER;
}
if (errn == 0) {
errn = decodeBytes(stream, exiFrag->PGPKeyPacket.bytesLen, exiFrag->PGPKeyPacket.bytes);
}
exiFrag->PGPKeyPacket_isUsed = 1u;
} else {
/* Second level event (e.g., xsi:type, xsi:nil, ...) */
errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS;
}
}
break; break;
case 135: case 135:
/* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}PMax) */ /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}PMax) */
@ -18018,7 +18174,17 @@ int decode_iso1ExiFragment(bitstream_t* stream, struct iso1EXIFragment* exiFrag)
break; break;
case 140: case 140:
/* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ParameterSetID) */ /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ParameterSetID) */
errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name ParameterSetID */ /* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */
errn = decodeNBitUnsignedInteger(stream, 1, &eventCode);
if(errn == 0) {
if(eventCode == 0) {
errn = decodeInteger16(stream, &exiFrag->ParameterSetID);
exiFrag->ParameterSetID_isUsed = 1u;
} else {
/* Second level event (e.g., xsi:type, xsi:nil, ...) */
errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS;
}
}
break; break;
case 141: case 141:
/* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}PaymentDetailsReq) */ /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}PaymentDetailsReq) */
@ -18146,7 +18312,17 @@ int decode_iso1ExiFragment(bitstream_t* stream, struct iso1EXIFragment* exiFrag)
break; break;
case 156: case 156:
/* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ReceiptRequired) */ /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ReceiptRequired) */
errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name ReceiptRequired */ /* FirstStartTag[CHARACTERS[BOOLEAN]] */
errn = decodeNBitUnsignedInteger(stream, 1, &eventCode);
if(errn == 0) {
if(eventCode == 0) {
errn = decodeBoolean(stream, &exiFrag->ReceiptRequired);
exiFrag->ReceiptRequired_isUsed = 1u;
} else {
/* Second level event (e.g., xsi:type, xsi:nil, ...) */
errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS;
}
}
break; break;
case 157: case 157:
/* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Reference) */ /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Reference) */
@ -18185,7 +18361,18 @@ int decode_iso1ExiFragment(bitstream_t* stream, struct iso1EXIFragment* exiFrag)
break; break;
case 162: case 162:
/* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ResponseCode) */ /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ResponseCode) */
errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name ResponseCode */ /* FirstStartTag[CHARACTERS[ENUMERATION]] */
errn = decodeNBitUnsignedInteger(stream, 1, &eventCode);
if(errn == 0) {
if(eventCode == 0) {
errn = decodeNBitUnsignedInteger(stream, 5, &uint32);
exiFrag->ResponseCode = (iso1responseCodeType) uint32;
exiFrag->ResponseCode_isUsed = 1u;
} else {
/* Second level event (e.g., xsi:type, xsi:nil, ...) */
errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS;
}
}
break; break;
case 163: case 163:
/* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}RetrievalMethod) */ /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}RetrievalMethod) */
@ -18213,7 +18400,8 @@ int decode_iso1ExiFragment(bitstream_t* stream, struct iso1EXIFragment* exiFrag)
break; break;
case 166: case 166:
/* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}SAProvisioningCertificateChain) */ /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}SAProvisioningCertificateChain) */
errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name SAProvisioningCertificateChain */ errn = decode_iso1CertificateChainType(stream, &exiFrag->SAProvisioningCertificateChain);
exiFrag->SAProvisioningCertificateChain_isUsed = 1u;
break; break;
case 167: case 167:
/* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SAScheduleList) */ /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SAScheduleList) */
@ -18227,11 +18415,33 @@ int decode_iso1ExiFragment(bitstream_t* stream, struct iso1EXIFragment* exiFrag)
break; break;
case 169: case 169:
/* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}SAScheduleTupleID) */ /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}SAScheduleTupleID) */
errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name SAScheduleTupleID */ /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */
errn = decodeNBitUnsignedInteger(stream, 1, &eventCode);
if(errn == 0) {
if(eventCode == 0) {
errn = decodeNBitUnsignedInteger(stream, 8, &(uint32));
exiFrag->SAScheduleTupleID = (uint8_t)(uint32 + 1);
exiFrag->SAScheduleTupleID_isUsed = 1u;
} else {
/* Second level event (e.g., xsi:type, xsi:nil, ...) */
errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS;
}
}
break; break;
case 170: case 170:
/* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SAScheduleTupleID) */ /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SAScheduleTupleID) */
errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name SAScheduleTupleID */ /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */
errn = decodeNBitUnsignedInteger(stream, 1, &eventCode);
if(errn == 0) {
if(eventCode == 0) {
errn = decodeNBitUnsignedInteger(stream, 8, &(uint32));
exiFrag->SAScheduleTupleID = (uint8_t)(uint32 + 1);
exiFrag->SAScheduleTupleID_isUsed = 1u;
} else {
/* Second level event (e.g., xsi:type, xsi:nil, ...) */
errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS;
}
}
break; break;
case 171: case 171:
/* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SASchedules) */ /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SASchedules) */
@ -18363,11 +18573,33 @@ int decode_iso1ExiFragment(bitstream_t* stream, struct iso1EXIFragment* exiFrag)
break; break;
case 183: case 183:
/* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ServiceCategory) */ /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ServiceCategory) */
errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name ServiceCategory */ /* FirstStartTag[CHARACTERS[ENUMERATION]] */
errn = decodeNBitUnsignedInteger(stream, 1, &eventCode);
if(errn == 0) {
if(eventCode == 0) {
errn = decodeNBitUnsignedInteger(stream, 2, &uint32);
exiFrag->ServiceCategory = (iso1serviceCategoryType) uint32;
exiFrag->ServiceCategory_isUsed = 1u;
} else {
/* Second level event (e.g., xsi:type, xsi:nil, ...) */
errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS;
}
}
break; break;
case 184: case 184:
/* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ServiceCategory) */ /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ServiceCategory) */
errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name ServiceCategory */ /* FirstStartTag[CHARACTERS[ENUMERATION]] */
errn = decodeNBitUnsignedInteger(stream, 1, &eventCode);
if(errn == 0) {
if(eventCode == 0) {
errn = decodeNBitUnsignedInteger(stream, 2, &uint32);
exiFrag->ServiceCategory = (iso1serviceCategoryType) uint32;
exiFrag->ServiceCategory_isUsed = 1u;
} else {
/* Second level event (e.g., xsi:type, xsi:nil, ...) */
errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS;
}
}
break; break;
case 185: case 185:
/* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ServiceDetailReq) */ /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ServiceDetailReq) */
@ -18391,11 +18623,31 @@ int decode_iso1ExiFragment(bitstream_t* stream, struct iso1EXIFragment* exiFrag)
break; break;
case 189: case 189:
/* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ServiceID) */ /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ServiceID) */
errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name ServiceID */ /* FirstStartTag[CHARACTERS[UNSIGNED_INTEGER]] */
errn = decodeNBitUnsignedInteger(stream, 1, &eventCode);
if(errn == 0) {
if(eventCode == 0) {
errn = decodeUnsignedInteger16(stream, &exiFrag->ServiceID);
exiFrag->ServiceID_isUsed = 1u;
} else {
/* Second level event (e.g., xsi:type, xsi:nil, ...) */
errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS;
}
}
break; break;
case 190: case 190:
/* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ServiceID) */ /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ServiceID) */
errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name ServiceID */ /* FirstStartTag[CHARACTERS[UNSIGNED_INTEGER]] */
errn = decodeNBitUnsignedInteger(stream, 1, &eventCode);
if(errn == 0) {
if(eventCode == 0) {
errn = decodeUnsignedInteger16(stream, &exiFrag->ServiceID);
exiFrag->ServiceID_isUsed = 1u;
} else {
/* Second level event (e.g., xsi:type, xsi:nil, ...) */
errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS;
}
}
break; break;
case 191: case 191:
/* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ServiceList) */ /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ServiceList) */
@ -18432,19 +18684,89 @@ int decode_iso1ExiFragment(bitstream_t* stream, struct iso1EXIFragment* exiFrag)
break; break;
case 194: case 194:
/* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ServiceScope) */ /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ServiceScope) */
errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name ServiceScope */ /* FirstStartTag[CHARACTERS[STRING]] */
errn = decodeNBitUnsignedInteger(stream, 1, &eventCode);
if(errn == 0) {
if(eventCode == 0) {
errn = decodeUnsignedInteger16(stream, &exiFrag->ServiceScope.charactersLen);
if (errn == 0) {
if (exiFrag->ServiceScope.charactersLen >= 2) {
exiFrag->ServiceScope.charactersLen = (uint16_t)(exiFrag->ServiceScope.charactersLen - 2); /* string table miss */
errn = decodeCharacters(stream, exiFrag->ServiceScope.charactersLen, exiFrag->ServiceScope.characters, EXIFragment_ServiceScope_CHARACTERS_SIZE);
} else {
/* string table hit */
errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED;
}
}
exiFrag->ServiceScope_isUsed = 1u;
} else {
/* Second level event (e.g., xsi:type, xsi:nil, ...) */
errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS;
}
}
break; break;
case 195: case 195:
/* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ServiceScope) */ /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ServiceScope) */
errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name ServiceScope */ /* FirstStartTag[CHARACTERS[STRING]] */
errn = decodeNBitUnsignedInteger(stream, 1, &eventCode);
if(errn == 0) {
if(eventCode == 0) {
errn = decodeUnsignedInteger16(stream, &exiFrag->ServiceScope.charactersLen);
if (errn == 0) {
if (exiFrag->ServiceScope.charactersLen >= 2) {
exiFrag->ServiceScope.charactersLen = (uint16_t)(exiFrag->ServiceScope.charactersLen - 2); /* string table miss */
errn = decodeCharacters(stream, exiFrag->ServiceScope.charactersLen, exiFrag->ServiceScope.characters, EXIFragment_ServiceScope_CHARACTERS_SIZE);
} else {
/* string table hit */
errn = EXI_ERROR_STRINGVALUES_NOT_SUPPORTED;
}
}
exiFrag->ServiceScope_isUsed = 1u;
} else {
/* Second level event (e.g., xsi:type, xsi:nil, ...) */
errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS;
}
}
break; break;
case 196: case 196:
/* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}SessionID) */ /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}SessionID) */
errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name SessionID */ /* FirstStartTag[CHARACTERS[BINARY_HEX]] */
errn = decodeNBitUnsignedInteger(stream, 1, &eventCode);
if(errn == 0) {
if(eventCode == 0) {
errn = decodeUnsignedInteger16(stream, &exiFrag->SessionID.bytesLen);
if (errn == 0) {
errn = (exiFrag->SessionID.bytesLen) <= EXIFragment_SessionID_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER;
}
if (errn == 0) {
errn = decodeBytes(stream, exiFrag->SessionID.bytesLen, exiFrag->SessionID.bytes);
}
exiFrag->SessionID_isUsed = 1u;
} else {
/* Second level event (e.g., xsi:type, xsi:nil, ...) */
errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS;
}
}
break; break;
case 197: case 197:
/* START_ELEMENT({urn:iso:15118:2:2013:MsgHeader}SessionID) */ /* START_ELEMENT({urn:iso:15118:2:2013:MsgHeader}SessionID) */
errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name SessionID */ /* FirstStartTag[CHARACTERS[BINARY_HEX]] */
errn = decodeNBitUnsignedInteger(stream, 1, &eventCode);
if(errn == 0) {
if(eventCode == 0) {
errn = decodeUnsignedInteger16(stream, &exiFrag->SessionID.bytesLen);
if (errn == 0) {
errn = (exiFrag->SessionID.bytesLen) <= EXIFragment_SessionID_BYTES_SIZE ? 0 : EXI_ERROR_OUT_OF_BYTE_BUFFER;
}
if (errn == 0) {
errn = decodeBytes(stream, exiFrag->SessionID.bytesLen, exiFrag->SessionID.bytes);
}
exiFrag->SessionID_isUsed = 1u;
} else {
/* Second level event (e.g., xsi:type, xsi:nil, ...) */
errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS;
}
}
break; break;
case 198: case 198:
/* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}SessionSetupReq) */ /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}SessionSetupReq) */
@ -18861,7 +19183,8 @@ int decode_iso1ExiFragment(bitstream_t* stream, struct iso1EXIFragment* exiFrag)
break; break;
case 236: case 236:
/* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}eMAID) */ /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}eMAID) */
errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name eMAID */ errn = decode_iso1EMAIDType(stream, &exiFrag->eMAID);
exiFrag->eMAID_isUsed = 1u;
break; break;
case 237: case 237:
/* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}intValue) */ /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}intValue) */

View file

@ -18,7 +18,7 @@
/******************************************************************* /*******************************************************************
* *
* @author Daniel.Peintner.EXT@siemens.com * @author Daniel.Peintner.EXT@siemens.com
* @version 2017-09-19 * @version 2017-11-16
* @contact Richard.Kuntschke@siemens.com * @contact Richard.Kuntschke@siemens.com
* *
* <p>Code generated by EXIdizer</p> * <p>Code generated by EXIdizer</p>

View file

@ -18,7 +18,7 @@
/******************************************************************* /*******************************************************************
* *
* @author Daniel.Peintner.EXT@siemens.com * @author Daniel.Peintner.EXT@siemens.com
* @version 2017-09-19 * @version 2017-11-16
* @contact Richard.Kuntschke@siemens.com * @contact Richard.Kuntschke@siemens.com
* *
* <p>Code generated by EXIdizer</p> * <p>Code generated by EXIdizer</p>
@ -12339,10 +12339,16 @@ int encode_iso1ExiFragment(bitstream_t* stream, struct iso1EXIFragment* exiFrag)
} }
} else if ( exiFrag->AC_EVSEStatus_isUsed == 1u ) { } else if ( exiFrag->AC_EVSEStatus_isUsed == 1u ) {
/* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}AC_EVSEStatus) */ /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}AC_EVSEStatus) */
errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name AC_EVSEStatus */ errn = encodeNBitUnsignedInteger(stream, 8, 2);
if(errn == 0) {
errn = encode_iso1AC_EVSEStatusType(stream, &exiFrag->AC_EVSEStatus );
}
} else if ( exiFrag->AC_EVSEStatus_isUsed == 1u ) { } else if ( exiFrag->AC_EVSEStatus_isUsed == 1u ) {
/* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}AC_EVSEStatus) */ /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}AC_EVSEStatus) */
errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name AC_EVSEStatus */ errn = encodeNBitUnsignedInteger(stream, 8, 3);
if(errn == 0) {
errn = encode_iso1AC_EVSEStatusType(stream, &exiFrag->AC_EVSEStatus );
}
} else if ( exiFrag->AuthorizationReq_isUsed == 1u ) { } else if ( exiFrag->AuthorizationReq_isUsed == 1u ) {
/* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}AuthorizationReq) */ /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}AuthorizationReq) */
errn = encodeNBitUnsignedInteger(stream, 8, 4); errn = encodeNBitUnsignedInteger(stream, 8, 4);
@ -12369,10 +12375,28 @@ int encode_iso1ExiFragment(bitstream_t* stream, struct iso1EXIFragment* exiFrag)
} }
} else if ( exiFrag->BulkChargingComplete_isUsed == 1u ) { } else if ( exiFrag->BulkChargingComplete_isUsed == 1u ) {
/* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}BulkChargingComplete) */ /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}BulkChargingComplete) */
errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name BulkChargingComplete */ errn = encodeNBitUnsignedInteger(stream, 8, 8);
if(errn == 0) {
/* FirstStartTag[CHARACTERS[BOOLEAN]] */
errn = encodeNBitUnsignedInteger(stream, 1, 0);
if(errn == 0) {
errn = encodeBoolean(stream, exiFrag->BulkChargingComplete);
/* valid EE */
errn = encodeNBitUnsignedInteger(stream, 1, 0);
}
}
} else if ( exiFrag->BulkChargingComplete_isUsed == 1u ) { } else if ( exiFrag->BulkChargingComplete_isUsed == 1u ) {
/* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}BulkChargingComplete) */ /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}BulkChargingComplete) */
errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name BulkChargingComplete */ errn = encodeNBitUnsignedInteger(stream, 8, 9);
if(errn == 0) {
/* FirstStartTag[CHARACTERS[BOOLEAN]] */
errn = encodeNBitUnsignedInteger(stream, 1, 0);
if(errn == 0) {
errn = encodeBoolean(stream, exiFrag->BulkChargingComplete);
/* valid EE */
errn = encodeNBitUnsignedInteger(stream, 1, 0);
}
}
} else if ( exiFrag->BulkSOC_isUsed == 1u ) { } else if ( exiFrag->BulkSOC_isUsed == 1u ) {
/* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}BulkSOC) */ /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}BulkSOC) */
errn = encodeNBitUnsignedInteger(stream, 8, 10); errn = encodeNBitUnsignedInteger(stream, 8, 10);
@ -12405,7 +12429,19 @@ int encode_iso1ExiFragment(bitstream_t* stream, struct iso1EXIFragment* exiFrag)
} }
} else if ( exiFrag->Certificate_isUsed == 1u ) { } else if ( exiFrag->Certificate_isUsed == 1u ) {
/* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}Certificate) */ /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}Certificate) */
errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name Certificate */ errn = encodeNBitUnsignedInteger(stream, 8, 14);
if(errn == 0) {
/* FirstStartTag[CHARACTERS[BINARY_BASE64]] */
errn = encodeNBitUnsignedInteger(stream, 1, 0);
if(errn == 0) {
errn = encodeUnsignedInteger16(stream, (uint16_t)(exiFrag->Certificate.bytesLen));
if (errn == 0) {
errn = encodeBytes(stream, exiFrag->Certificate.bytes, exiFrag->Certificate.bytesLen);
}
/* valid EE */
errn = encodeNBitUnsignedInteger(stream, 1, 0);
}
}
} else if ( exiFrag->CertificateInstallationReq_isUsed == 1u ) { } else if ( exiFrag->CertificateInstallationReq_isUsed == 1u ) {
/* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}CertificateInstallationReq) */ /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}CertificateInstallationReq) */
errn = encodeNBitUnsignedInteger(stream, 8, 15); errn = encodeNBitUnsignedInteger(stream, 8, 15);
@ -12462,10 +12498,28 @@ int encode_iso1ExiFragment(bitstream_t* stream, struct iso1EXIFragment* exiFrag)
} }
} else if ( exiFrag->ChargingComplete_isUsed == 1u ) { } else if ( exiFrag->ChargingComplete_isUsed == 1u ) {
/* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ChargingComplete) */ /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ChargingComplete) */
errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name ChargingComplete */ errn = encodeNBitUnsignedInteger(stream, 8, 23);
if(errn == 0) {
/* FirstStartTag[CHARACTERS[BOOLEAN]] */
errn = encodeNBitUnsignedInteger(stream, 1, 0);
if(errn == 0) {
errn = encodeBoolean(stream, exiFrag->ChargingComplete);
/* valid EE */
errn = encodeNBitUnsignedInteger(stream, 1, 0);
}
}
} else if ( exiFrag->ChargingComplete_isUsed == 1u ) { } else if ( exiFrag->ChargingComplete_isUsed == 1u ) {
/* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ChargingComplete) */ /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ChargingComplete) */
errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name ChargingComplete */ errn = encodeNBitUnsignedInteger(stream, 8, 24);
if(errn == 0) {
/* FirstStartTag[CHARACTERS[BOOLEAN]] */
errn = encodeNBitUnsignedInteger(stream, 1, 0);
if(errn == 0) {
errn = encodeBoolean(stream, exiFrag->ChargingComplete);
/* valid EE */
errn = encodeNBitUnsignedInteger(stream, 1, 0);
}
}
} else if ( exiFrag->ChargingProfile_isUsed == 1u ) { } else if ( exiFrag->ChargingProfile_isUsed == 1u ) {
/* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ChargingProfile) */ /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ChargingProfile) */
errn = encodeNBitUnsignedInteger(stream, 8, 25); errn = encodeNBitUnsignedInteger(stream, 8, 25);
@ -12534,10 +12588,16 @@ int encode_iso1ExiFragment(bitstream_t* stream, struct iso1EXIFragment* exiFrag)
} }
} else if ( exiFrag->ContractSignatureCertChain_isUsed == 1u ) { } else if ( exiFrag->ContractSignatureCertChain_isUsed == 1u ) {
/* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ContractSignatureCertChain) */ /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ContractSignatureCertChain) */
errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name ContractSignatureCertChain */ errn = encodeNBitUnsignedInteger(stream, 8, 33);
if(errn == 0) {
errn = encode_iso1CertificateChainType(stream, &exiFrag->ContractSignatureCertChain );
}
} else if ( exiFrag->ContractSignatureEncryptedPrivateKey_isUsed == 1u ) { } else if ( exiFrag->ContractSignatureEncryptedPrivateKey_isUsed == 1u ) {
/* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ContractSignatureEncryptedPrivateKey) */ /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ContractSignatureEncryptedPrivateKey) */
errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name ContractSignatureEncryptedPrivateKey */ errn = encodeNBitUnsignedInteger(stream, 8, 34);
if(errn == 0) {
errn = encode_iso1ContractSignatureEncryptedPrivateKeyType(stream, &exiFrag->ContractSignatureEncryptedPrivateKey );
}
} else if ( exiFrag->Cost_isUsed == 1u ) { } else if ( exiFrag->Cost_isUsed == 1u ) {
/* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}Cost) */ /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}Cost) */
errn = encodeNBitUnsignedInteger(stream, 8, 35); errn = encodeNBitUnsignedInteger(stream, 8, 35);
@ -12576,19 +12636,34 @@ int encode_iso1ExiFragment(bitstream_t* stream, struct iso1EXIFragment* exiFrag)
} }
} else if ( exiFrag->DC_EVSEStatus_isUsed == 1u ) { } else if ( exiFrag->DC_EVSEStatus_isUsed == 1u ) {
/* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}DC_EVSEStatus) */ /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}DC_EVSEStatus) */
errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name DC_EVSEStatus */ errn = encodeNBitUnsignedInteger(stream, 8, 41);
if(errn == 0) {
errn = encode_iso1DC_EVSEStatusType(stream, &exiFrag->DC_EVSEStatus );
}
} else if ( exiFrag->DC_EVSEStatus_isUsed == 1u ) { } else if ( exiFrag->DC_EVSEStatus_isUsed == 1u ) {
/* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}DC_EVSEStatus) */ /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}DC_EVSEStatus) */
errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name DC_EVSEStatus */ errn = encodeNBitUnsignedInteger(stream, 8, 42);
if(errn == 0) {
errn = encode_iso1DC_EVSEStatusType(stream, &exiFrag->DC_EVSEStatus );
}
} else if ( exiFrag->DC_EVStatus_isUsed == 1u ) { } else if ( exiFrag->DC_EVStatus_isUsed == 1u ) {
/* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}DC_EVStatus) */ /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}DC_EVStatus) */
errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name DC_EVStatus */ errn = encodeNBitUnsignedInteger(stream, 8, 43);
if(errn == 0) {
errn = encode_iso1DC_EVStatusType(stream, &exiFrag->DC_EVStatus );
}
} else if ( exiFrag->DC_EVStatus_isUsed == 1u ) { } else if ( exiFrag->DC_EVStatus_isUsed == 1u ) {
/* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}DC_EVStatus) */ /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}DC_EVStatus) */
errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name DC_EVStatus */ errn = encodeNBitUnsignedInteger(stream, 8, 44);
if(errn == 0) {
errn = encode_iso1DC_EVStatusType(stream, &exiFrag->DC_EVStatus );
}
} else if ( exiFrag->DHpublickey_isUsed == 1u ) { } else if ( exiFrag->DHpublickey_isUsed == 1u ) {
/* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}DHpublickey) */ /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}DHpublickey) */
errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name DHpublickey */ errn = encodeNBitUnsignedInteger(stream, 8, 45);
if(errn == 0) {
errn = encode_iso1DiffieHellmanPublickeyType(stream, &exiFrag->DHpublickey );
}
} else if ( exiFrag->DSAKeyValue_isUsed == 1u ) { } else if ( exiFrag->DSAKeyValue_isUsed == 1u ) {
/* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DSAKeyValue) */ /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}DSAKeyValue) */
errn = encodeNBitUnsignedInteger(stream, 8, 46); errn = encodeNBitUnsignedInteger(stream, 8, 46);
@ -12705,22 +12780,40 @@ int encode_iso1ExiFragment(bitstream_t* stream, struct iso1EXIFragment* exiFrag)
} }
} else if ( exiFrag->EVMaximumCurrentLimit_isUsed == 1u ) { } else if ( exiFrag->EVMaximumCurrentLimit_isUsed == 1u ) {
/* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVMaximumCurrentLimit) */ /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVMaximumCurrentLimit) */
errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVMaximumCurrentLimit */ errn = encodeNBitUnsignedInteger(stream, 8, 59);
if(errn == 0) {
errn = encode_iso1PhysicalValueType(stream, &exiFrag->EVMaximumCurrentLimit );
}
} else if ( exiFrag->EVMaximumCurrentLimit_isUsed == 1u ) { } else if ( exiFrag->EVMaximumCurrentLimit_isUsed == 1u ) {
/* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVMaximumCurrentLimit) */ /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVMaximumCurrentLimit) */
errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVMaximumCurrentLimit */ errn = encodeNBitUnsignedInteger(stream, 8, 60);
if(errn == 0) {
errn = encode_iso1PhysicalValueType(stream, &exiFrag->EVMaximumCurrentLimit );
}
} else if ( exiFrag->EVMaximumPowerLimit_isUsed == 1u ) { } else if ( exiFrag->EVMaximumPowerLimit_isUsed == 1u ) {
/* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVMaximumPowerLimit) */ /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVMaximumPowerLimit) */
errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVMaximumPowerLimit */ errn = encodeNBitUnsignedInteger(stream, 8, 61);
if(errn == 0) {
errn = encode_iso1PhysicalValueType(stream, &exiFrag->EVMaximumPowerLimit );
}
} else if ( exiFrag->EVMaximumPowerLimit_isUsed == 1u ) { } else if ( exiFrag->EVMaximumPowerLimit_isUsed == 1u ) {
/* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVMaximumPowerLimit) */ /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVMaximumPowerLimit) */
errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVMaximumPowerLimit */ errn = encodeNBitUnsignedInteger(stream, 8, 62);
if(errn == 0) {
errn = encode_iso1PhysicalValueType(stream, &exiFrag->EVMaximumPowerLimit );
}
} else if ( exiFrag->EVMaximumVoltageLimit_isUsed == 1u ) { } else if ( exiFrag->EVMaximumVoltageLimit_isUsed == 1u ) {
/* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVMaximumVoltageLimit) */ /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVMaximumVoltageLimit) */
errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVMaximumVoltageLimit */ errn = encodeNBitUnsignedInteger(stream, 8, 63);
if(errn == 0) {
errn = encode_iso1PhysicalValueType(stream, &exiFrag->EVMaximumVoltageLimit );
}
} else if ( exiFrag->EVMaximumVoltageLimit_isUsed == 1u ) { } else if ( exiFrag->EVMaximumVoltageLimit_isUsed == 1u ) {
/* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVMaximumVoltageLimit) */ /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVMaximumVoltageLimit) */
errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVMaximumVoltageLimit */ errn = encodeNBitUnsignedInteger(stream, 8, 64);
if(errn == 0) {
errn = encode_iso1PhysicalValueType(stream, &exiFrag->EVMaximumVoltageLimit );
}
} else if ( exiFrag->EVMinCurrent_isUsed == 1u ) { } else if ( exiFrag->EVMinCurrent_isUsed == 1u ) {
/* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVMinCurrent) */ /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVMinCurrent) */
errn = encodeNBitUnsignedInteger(stream, 8, 65); errn = encodeNBitUnsignedInteger(stream, 8, 65);
@ -12789,7 +12882,20 @@ int encode_iso1ExiFragment(bitstream_t* stream, struct iso1EXIFragment* exiFrag)
} }
} else if ( exiFrag->EVSEID_isUsed == 1u ) { } else if ( exiFrag->EVSEID_isUsed == 1u ) {
/* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVSEID) */ /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVSEID) */
errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVSEID */ errn = encodeNBitUnsignedInteger(stream, 8, 73);
if(errn == 0) {
/* FirstStartTag[CHARACTERS[STRING]] */
errn = encodeNBitUnsignedInteger(stream, 1, 0);
if(errn == 0) {
/* encode string as string table miss (+2 len)*/
errn = encodeUnsignedInteger16(stream, (uint16_t)(exiFrag->EVSEID.charactersLen + 2));
if (errn == 0) {
errn = encodeCharacters(stream, exiFrag->EVSEID.characters, exiFrag->EVSEID.charactersLen);
}
/* valid EE */
errn = encodeNBitUnsignedInteger(stream, 1, 0);
}
}
} else if ( exiFrag->EVSEIsolationStatus_isUsed == 1u ) { } else if ( exiFrag->EVSEIsolationStatus_isUsed == 1u ) {
/* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSEIsolationStatus) */ /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSEIsolationStatus) */
errn = encodeNBitUnsignedInteger(stream, 8, 74); errn = encodeNBitUnsignedInteger(stream, 8, 74);
@ -12804,28 +12910,52 @@ int encode_iso1ExiFragment(bitstream_t* stream, struct iso1EXIFragment* exiFrag)
} }
} else if ( exiFrag->EVSEMaxCurrent_isUsed == 1u ) { } else if ( exiFrag->EVSEMaxCurrent_isUsed == 1u ) {
/* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVSEMaxCurrent) */ /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVSEMaxCurrent) */
errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVSEMaxCurrent */ errn = encodeNBitUnsignedInteger(stream, 8, 75);
if(errn == 0) {
errn = encode_iso1PhysicalValueType(stream, &exiFrag->EVSEMaxCurrent );
}
} else if ( exiFrag->EVSEMaxCurrent_isUsed == 1u ) { } else if ( exiFrag->EVSEMaxCurrent_isUsed == 1u ) {
/* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSEMaxCurrent) */ /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSEMaxCurrent) */
errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVSEMaxCurrent */ errn = encodeNBitUnsignedInteger(stream, 8, 76);
if(errn == 0) {
errn = encode_iso1PhysicalValueType(stream, &exiFrag->EVSEMaxCurrent );
}
} else if ( exiFrag->EVSEMaximumCurrentLimit_isUsed == 1u ) { } else if ( exiFrag->EVSEMaximumCurrentLimit_isUsed == 1u ) {
/* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVSEMaximumCurrentLimit) */ /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVSEMaximumCurrentLimit) */
errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVSEMaximumCurrentLimit */ errn = encodeNBitUnsignedInteger(stream, 8, 77);
if(errn == 0) {
errn = encode_iso1PhysicalValueType(stream, &exiFrag->EVSEMaximumCurrentLimit );
}
} else if ( exiFrag->EVSEMaximumCurrentLimit_isUsed == 1u ) { } else if ( exiFrag->EVSEMaximumCurrentLimit_isUsed == 1u ) {
/* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSEMaximumCurrentLimit) */ /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSEMaximumCurrentLimit) */
errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVSEMaximumCurrentLimit */ errn = encodeNBitUnsignedInteger(stream, 8, 78);
if(errn == 0) {
errn = encode_iso1PhysicalValueType(stream, &exiFrag->EVSEMaximumCurrentLimit );
}
} else if ( exiFrag->EVSEMaximumPowerLimit_isUsed == 1u ) { } else if ( exiFrag->EVSEMaximumPowerLimit_isUsed == 1u ) {
/* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVSEMaximumPowerLimit) */ /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVSEMaximumPowerLimit) */
errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVSEMaximumPowerLimit */ errn = encodeNBitUnsignedInteger(stream, 8, 79);
if(errn == 0) {
errn = encode_iso1PhysicalValueType(stream, &exiFrag->EVSEMaximumPowerLimit );
}
} else if ( exiFrag->EVSEMaximumPowerLimit_isUsed == 1u ) { } else if ( exiFrag->EVSEMaximumPowerLimit_isUsed == 1u ) {
/* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSEMaximumPowerLimit) */ /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSEMaximumPowerLimit) */
errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVSEMaximumPowerLimit */ errn = encodeNBitUnsignedInteger(stream, 8, 80);
if(errn == 0) {
errn = encode_iso1PhysicalValueType(stream, &exiFrag->EVSEMaximumPowerLimit );
}
} else if ( exiFrag->EVSEMaximumVoltageLimit_isUsed == 1u ) { } else if ( exiFrag->EVSEMaximumVoltageLimit_isUsed == 1u ) {
/* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVSEMaximumVoltageLimit) */ /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVSEMaximumVoltageLimit) */
errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVSEMaximumVoltageLimit */ errn = encodeNBitUnsignedInteger(stream, 8, 81);
if(errn == 0) {
errn = encode_iso1PhysicalValueType(stream, &exiFrag->EVSEMaximumVoltageLimit );
}
} else if ( exiFrag->EVSEMaximumVoltageLimit_isUsed == 1u ) { } else if ( exiFrag->EVSEMaximumVoltageLimit_isUsed == 1u ) {
/* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSEMaximumVoltageLimit) */ /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSEMaximumVoltageLimit) */
errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVSEMaximumVoltageLimit */ errn = encodeNBitUnsignedInteger(stream, 8, 82);
if(errn == 0) {
errn = encode_iso1PhysicalValueType(stream, &exiFrag->EVSEMaximumVoltageLimit );
}
} else if ( exiFrag->EVSEMinimumCurrentLimit_isUsed == 1u ) { } else if ( exiFrag->EVSEMinimumCurrentLimit_isUsed == 1u ) {
/* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSEMinimumCurrentLimit) */ /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSEMinimumCurrentLimit) */
errn = encodeNBitUnsignedInteger(stream, 8, 83); errn = encodeNBitUnsignedInteger(stream, 8, 83);
@ -12882,10 +13012,22 @@ int encode_iso1ExiFragment(bitstream_t* stream, struct iso1EXIFragment* exiFrag)
} }
} else if ( exiFrag->EVSEPresentVoltage_isUsed == 1u ) { } else if ( exiFrag->EVSEPresentVoltage_isUsed == 1u ) {
/* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVSEPresentVoltage) */ /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVSEPresentVoltage) */
errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVSEPresentVoltage */ errn = encodeNBitUnsignedInteger(stream, 8, 90);
if(errn == 0) {
errn = encode_iso1PhysicalValueType(stream, &exiFrag->EVSEPresentVoltage );
}
} else if ( exiFrag->EVSEProcessing_isUsed == 1u ) { } else if ( exiFrag->EVSEProcessing_isUsed == 1u ) {
/* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVSEProcessing) */ /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVSEProcessing) */
errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVSEProcessing */ errn = encodeNBitUnsignedInteger(stream, 8, 91);
if(errn == 0) {
/* FirstStartTag[CHARACTERS[ENUMERATION]] */
errn = encodeNBitUnsignedInteger(stream, 1, 0);
if(errn == 0) {
errn = encodeNBitUnsignedInteger(stream, 2, exiFrag->EVSEProcessing);
/* valid EE */
errn = encodeNBitUnsignedInteger(stream, 1, 0);
}
}
} else if ( exiFrag->EVSEStatus_isUsed == 1u ) { } else if ( exiFrag->EVSEStatus_isUsed == 1u ) {
/* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSEStatus) */ /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EVSEStatus) */
errn = encodeNBitUnsignedInteger(stream, 8, 92); errn = encodeNBitUnsignedInteger(stream, 8, 92);
@ -12906,7 +13048,16 @@ int encode_iso1ExiFragment(bitstream_t* stream, struct iso1EXIFragment* exiFrag)
} }
} else if ( exiFrag->EVSETimeStamp_isUsed == 1u ) { } else if ( exiFrag->EVSETimeStamp_isUsed == 1u ) {
/* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVSETimeStamp) */ /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVSETimeStamp) */
errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVSETimeStamp */ errn = encodeNBitUnsignedInteger(stream, 8, 94);
if(errn == 0) {
/* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */
errn = encodeNBitUnsignedInteger(stream, 1, 0);
if(errn == 0) {
errn = encodeInteger64(stream, exiFrag->EVSETimeStamp);
/* valid EE */
errn = encodeNBitUnsignedInteger(stream, 1, 0);
}
}
} else if ( exiFrag->EVSEVoltageLimitAchieved_isUsed == 1u ) { } else if ( exiFrag->EVSEVoltageLimitAchieved_isUsed == 1u ) {
/* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVSEVoltageLimitAchieved) */ /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVSEVoltageLimitAchieved) */
errn = encodeNBitUnsignedInteger(stream, 8, 95); errn = encodeNBitUnsignedInteger(stream, 8, 95);
@ -12927,10 +13078,16 @@ int encode_iso1ExiFragment(bitstream_t* stream, struct iso1EXIFragment* exiFrag)
} }
} else if ( exiFrag->EVTargetCurrent_isUsed == 1u ) { } else if ( exiFrag->EVTargetCurrent_isUsed == 1u ) {
/* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVTargetCurrent) */ /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVTargetCurrent) */
errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVTargetCurrent */ errn = encodeNBitUnsignedInteger(stream, 8, 97);
if(errn == 0) {
errn = encode_iso1PhysicalValueType(stream, &exiFrag->EVTargetCurrent );
}
} else if ( exiFrag->EVTargetVoltage_isUsed == 1u ) { } else if ( exiFrag->EVTargetVoltage_isUsed == 1u ) {
/* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVTargetVoltage) */ /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}EVTargetVoltage) */
errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name EVTargetVoltage */ errn = encodeNBitUnsignedInteger(stream, 8, 98);
if(errn == 0) {
errn = encode_iso1PhysicalValueType(stream, &exiFrag->EVTargetVoltage );
}
} else if ( exiFrag->EnergyTransferMode_isUsed == 1u ) { } else if ( exiFrag->EnergyTransferMode_isUsed == 1u ) {
/* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EnergyTransferMode) */ /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}EnergyTransferMode) */
errn = encodeNBitUnsignedInteger(stream, 8, 99); errn = encodeNBitUnsignedInteger(stream, 8, 99);
@ -13033,7 +13190,19 @@ int encode_iso1ExiFragment(bitstream_t* stream, struct iso1EXIFragment* exiFrag)
} }
} else if ( exiFrag->GenChallenge_isUsed == 1u ) { } else if ( exiFrag->GenChallenge_isUsed == 1u ) {
/* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}GenChallenge) */ /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}GenChallenge) */
errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name GenChallenge */ errn = encodeNBitUnsignedInteger(stream, 8, 107);
if(errn == 0) {
/* FirstStartTag[CHARACTERS[BINARY_BASE64]] */
errn = encodeNBitUnsignedInteger(stream, 1, 0);
if(errn == 0) {
errn = encodeUnsignedInteger16(stream, (uint16_t)(exiFrag->GenChallenge.bytesLen));
if (errn == 0) {
errn = encodeBytes(stream, exiFrag->GenChallenge.bytes, exiFrag->GenChallenge.bytesLen);
}
/* valid EE */
errn = encodeNBitUnsignedInteger(stream, 1, 0);
}
}
} else if ( exiFrag->HMACOutputLength_isUsed == 1u ) { } else if ( exiFrag->HMACOutputLength_isUsed == 1u ) {
/* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}HMACOutputLength) */ /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}HMACOutputLength) */
errn = encodeNBitUnsignedInteger(stream, 8, 108); errn = encodeNBitUnsignedInteger(stream, 8, 108);
@ -13097,7 +13266,10 @@ int encode_iso1ExiFragment(bitstream_t* stream, struct iso1EXIFragment* exiFrag)
} }
} else if ( exiFrag->ListOfRootCertificateIDs_isUsed == 1u ) { } else if ( exiFrag->ListOfRootCertificateIDs_isUsed == 1u ) {
/* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ListOfRootCertificateIDs) */ /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ListOfRootCertificateIDs) */
errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name ListOfRootCertificateIDs */ errn = encodeNBitUnsignedInteger(stream, 8, 114);
if(errn == 0) {
errn = encode_iso1ListOfRootCertificateIDsType(stream, &exiFrag->ListOfRootCertificateIDs );
}
} else if ( exiFrag->Manifest_isUsed == 1u ) { } else if ( exiFrag->Manifest_isUsed == 1u ) {
/* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Manifest) */ /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Manifest) */
errn = encodeNBitUnsignedInteger(stream, 8, 115); errn = encodeNBitUnsignedInteger(stream, 8, 115);
@ -13134,7 +13306,10 @@ int encode_iso1ExiFragment(bitstream_t* stream, struct iso1EXIFragment* exiFrag)
} }
} else if ( exiFrag->MeterInfo_isUsed == 1u ) { } else if ( exiFrag->MeterInfo_isUsed == 1u ) {
/* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}MeterInfo) */ /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}MeterInfo) */
errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name MeterInfo */ errn = encodeNBitUnsignedInteger(stream, 8, 118);
if(errn == 0) {
errn = encode_iso1MeterInfoType(stream, &exiFrag->MeterInfo );
}
} else if ( exiFrag->MeterReading_isUsed == 1u ) { } else if ( exiFrag->MeterReading_isUsed == 1u ) {
/* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}MeterReading) */ /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}MeterReading) */
errn = encodeNBitUnsignedInteger(stream, 8, 119); errn = encodeNBitUnsignedInteger(stream, 8, 119);
@ -13303,7 +13478,19 @@ int encode_iso1ExiFragment(bitstream_t* stream, struct iso1EXIFragment* exiFrag)
} }
} else if ( exiFrag->PGPKeyPacket_isUsed == 1u ) { } else if ( exiFrag->PGPKeyPacket_isUsed == 1u ) {
/* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPKeyPacket) */ /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}PGPKeyPacket) */
errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name PGPKeyPacket */ errn = encodeNBitUnsignedInteger(stream, 8, 134);
if(errn == 0) {
/* First(xsi:type)StartTag[CHARACTERS[BINARY_BASE64]] */
errn = encodeNBitUnsignedInteger(stream, 1, 0);
if(errn == 0) {
errn = encodeUnsignedInteger16(stream, (uint16_t)(exiFrag->PGPKeyPacket.bytesLen));
if (errn == 0) {
errn = encodeBytes(stream, exiFrag->PGPKeyPacket.bytes, exiFrag->PGPKeyPacket.bytesLen);
}
/* valid EE */
errn = encodeNBitUnsignedInteger(stream, 1, 0);
}
}
} else if ( exiFrag->PMax_isUsed == 1u ) { } else if ( exiFrag->PMax_isUsed == 1u ) {
/* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}PMax) */ /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}PMax) */
errn = encodeNBitUnsignedInteger(stream, 8, 135); errn = encodeNBitUnsignedInteger(stream, 8, 135);
@ -13336,7 +13523,16 @@ int encode_iso1ExiFragment(bitstream_t* stream, struct iso1EXIFragment* exiFrag)
} }
} else if ( exiFrag->ParameterSetID_isUsed == 1u ) { } else if ( exiFrag->ParameterSetID_isUsed == 1u ) {
/* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ParameterSetID) */ /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ParameterSetID) */
errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name ParameterSetID */ errn = encodeNBitUnsignedInteger(stream, 8, 140);
if(errn == 0) {
/* First(xsi:type)StartTag[CHARACTERS[INTEGER]] */
errn = encodeNBitUnsignedInteger(stream, 1, 0);
if(errn == 0) {
errn = encodeInteger16(stream, exiFrag->ParameterSetID);
/* valid EE */
errn = encodeNBitUnsignedInteger(stream, 1, 0);
}
}
} else if ( exiFrag->PaymentDetailsReq_isUsed == 1u ) { } else if ( exiFrag->PaymentDetailsReq_isUsed == 1u ) {
/* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}PaymentDetailsReq) */ /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}PaymentDetailsReq) */
errn = encodeNBitUnsignedInteger(stream, 8, 141); errn = encodeNBitUnsignedInteger(stream, 8, 141);
@ -13459,7 +13655,16 @@ int encode_iso1ExiFragment(bitstream_t* stream, struct iso1EXIFragment* exiFrag)
} }
} else if ( exiFrag->ReceiptRequired_isUsed == 1u ) { } else if ( exiFrag->ReceiptRequired_isUsed == 1u ) {
/* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ReceiptRequired) */ /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ReceiptRequired) */
errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name ReceiptRequired */ errn = encodeNBitUnsignedInteger(stream, 8, 156);
if(errn == 0) {
/* FirstStartTag[CHARACTERS[BOOLEAN]] */
errn = encodeNBitUnsignedInteger(stream, 1, 0);
if(errn == 0) {
errn = encodeBoolean(stream, exiFrag->ReceiptRequired);
/* valid EE */
errn = encodeNBitUnsignedInteger(stream, 1, 0);
}
}
} else if ( exiFrag->Reference_isUsed == 1u ) { } else if ( exiFrag->Reference_isUsed == 1u ) {
/* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Reference) */ /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}Reference) */
errn = encodeNBitUnsignedInteger(stream, 8, 157); errn = encodeNBitUnsignedInteger(stream, 8, 157);
@ -13498,7 +13703,16 @@ int encode_iso1ExiFragment(bitstream_t* stream, struct iso1EXIFragment* exiFrag)
} }
} else if ( exiFrag->ResponseCode_isUsed == 1u ) { } else if ( exiFrag->ResponseCode_isUsed == 1u ) {
/* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ResponseCode) */ /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ResponseCode) */
errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name ResponseCode */ errn = encodeNBitUnsignedInteger(stream, 8, 162);
if(errn == 0) {
/* FirstStartTag[CHARACTERS[ENUMERATION]] */
errn = encodeNBitUnsignedInteger(stream, 1, 0);
if(errn == 0) {
errn = encodeNBitUnsignedInteger(stream, 5, exiFrag->ResponseCode);
/* valid EE */
errn = encodeNBitUnsignedInteger(stream, 1, 0);
}
}
} else if ( exiFrag->RetrievalMethod_isUsed == 1u ) { } else if ( exiFrag->RetrievalMethod_isUsed == 1u ) {
/* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}RetrievalMethod) */ /* START_ELEMENT({http://www.w3.org/2000/09/xmldsig#}RetrievalMethod) */
errn = encodeNBitUnsignedInteger(stream, 8, 163); errn = encodeNBitUnsignedInteger(stream, 8, 163);
@ -13525,7 +13739,10 @@ int encode_iso1ExiFragment(bitstream_t* stream, struct iso1EXIFragment* exiFrag)
} }
} else if ( exiFrag->SAProvisioningCertificateChain_isUsed == 1u ) { } else if ( exiFrag->SAProvisioningCertificateChain_isUsed == 1u ) {
/* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}SAProvisioningCertificateChain) */ /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}SAProvisioningCertificateChain) */
errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name SAProvisioningCertificateChain */ errn = encodeNBitUnsignedInteger(stream, 8, 166);
if(errn == 0) {
errn = encode_iso1CertificateChainType(stream, &exiFrag->SAProvisioningCertificateChain );
}
} else if ( exiFrag->SAScheduleList_isUsed == 1u ) { } else if ( exiFrag->SAScheduleList_isUsed == 1u ) {
/* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SAScheduleList) */ /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SAScheduleList) */
errn = encodeNBitUnsignedInteger(stream, 8, 167); errn = encodeNBitUnsignedInteger(stream, 8, 167);
@ -13540,10 +13757,28 @@ int encode_iso1ExiFragment(bitstream_t* stream, struct iso1EXIFragment* exiFrag)
} }
} else if ( exiFrag->SAScheduleTupleID_isUsed == 1u ) { } else if ( exiFrag->SAScheduleTupleID_isUsed == 1u ) {
/* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}SAScheduleTupleID) */ /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}SAScheduleTupleID) */
errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name SAScheduleTupleID */ errn = encodeNBitUnsignedInteger(stream, 8, 169);
if(errn == 0) {
/* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */
errn = encodeNBitUnsignedInteger(stream, 1, 0);
if(errn == 0) {
errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(exiFrag->SAScheduleTupleID - 1));
/* valid EE */
errn = encodeNBitUnsignedInteger(stream, 1, 0);
}
}
} else if ( exiFrag->SAScheduleTupleID_isUsed == 1u ) { } else if ( exiFrag->SAScheduleTupleID_isUsed == 1u ) {
/* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SAScheduleTupleID) */ /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SAScheduleTupleID) */
errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name SAScheduleTupleID */ errn = encodeNBitUnsignedInteger(stream, 8, 170);
if(errn == 0) {
/* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */
errn = encodeNBitUnsignedInteger(stream, 1, 0);
if(errn == 0) {
errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(exiFrag->SAScheduleTupleID - 1));
/* valid EE */
errn = encodeNBitUnsignedInteger(stream, 1, 0);
}
}
} else if ( exiFrag->SASchedules_isUsed == 1u ) { } else if ( exiFrag->SASchedules_isUsed == 1u ) {
/* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SASchedules) */ /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}SASchedules) */
errn = encodeNBitUnsignedInteger(stream, 8, 171); errn = encodeNBitUnsignedInteger(stream, 8, 171);
@ -13658,10 +13893,28 @@ int encode_iso1ExiFragment(bitstream_t* stream, struct iso1EXIFragment* exiFrag)
} }
} else if ( exiFrag->ServiceCategory_isUsed == 1u ) { } else if ( exiFrag->ServiceCategory_isUsed == 1u ) {
/* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ServiceCategory) */ /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ServiceCategory) */
errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name ServiceCategory */ errn = encodeNBitUnsignedInteger(stream, 8, 183);
if(errn == 0) {
/* FirstStartTag[CHARACTERS[ENUMERATION]] */
errn = encodeNBitUnsignedInteger(stream, 1, 0);
if(errn == 0) {
errn = encodeNBitUnsignedInteger(stream, 2, exiFrag->ServiceCategory);
/* valid EE */
errn = encodeNBitUnsignedInteger(stream, 1, 0);
}
}
} else if ( exiFrag->ServiceCategory_isUsed == 1u ) { } else if ( exiFrag->ServiceCategory_isUsed == 1u ) {
/* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ServiceCategory) */ /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ServiceCategory) */
errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name ServiceCategory */ errn = encodeNBitUnsignedInteger(stream, 8, 184);
if(errn == 0) {
/* FirstStartTag[CHARACTERS[ENUMERATION]] */
errn = encodeNBitUnsignedInteger(stream, 1, 0);
if(errn == 0) {
errn = encodeNBitUnsignedInteger(stream, 2, exiFrag->ServiceCategory);
/* valid EE */
errn = encodeNBitUnsignedInteger(stream, 1, 0);
}
}
} else if ( exiFrag->ServiceDetailReq_isUsed == 1u ) { } else if ( exiFrag->ServiceDetailReq_isUsed == 1u ) {
/* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ServiceDetailReq) */ /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ServiceDetailReq) */
errn = encodeNBitUnsignedInteger(stream, 8, 185); errn = encodeNBitUnsignedInteger(stream, 8, 185);
@ -13688,10 +13941,28 @@ int encode_iso1ExiFragment(bitstream_t* stream, struct iso1EXIFragment* exiFrag)
} }
} else if ( exiFrag->ServiceID_isUsed == 1u ) { } else if ( exiFrag->ServiceID_isUsed == 1u ) {
/* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ServiceID) */ /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ServiceID) */
errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name ServiceID */ errn = encodeNBitUnsignedInteger(stream, 8, 189);
if(errn == 0) {
/* FirstStartTag[CHARACTERS[UNSIGNED_INTEGER]] */
errn = encodeNBitUnsignedInteger(stream, 1, 0);
if(errn == 0) {
errn = encodeUnsignedInteger16(stream, exiFrag->ServiceID);
/* valid EE */
errn = encodeNBitUnsignedInteger(stream, 1, 0);
}
}
} else if ( exiFrag->ServiceID_isUsed == 1u ) { } else if ( exiFrag->ServiceID_isUsed == 1u ) {
/* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ServiceID) */ /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ServiceID) */
errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name ServiceID */ errn = encodeNBitUnsignedInteger(stream, 8, 190);
if(errn == 0) {
/* FirstStartTag[CHARACTERS[UNSIGNED_INTEGER]] */
errn = encodeNBitUnsignedInteger(stream, 1, 0);
if(errn == 0) {
errn = encodeUnsignedInteger16(stream, exiFrag->ServiceID);
/* valid EE */
errn = encodeNBitUnsignedInteger(stream, 1, 0);
}
}
} else if ( exiFrag->ServiceList_isUsed == 1u ) { } else if ( exiFrag->ServiceList_isUsed == 1u ) {
/* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ServiceList) */ /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ServiceList) */
errn = encodeNBitUnsignedInteger(stream, 8, 191); errn = encodeNBitUnsignedInteger(stream, 8, 191);
@ -13722,16 +13993,66 @@ int encode_iso1ExiFragment(bitstream_t* stream, struct iso1EXIFragment* exiFrag)
} }
} else if ( exiFrag->ServiceScope_isUsed == 1u ) { } else if ( exiFrag->ServiceScope_isUsed == 1u ) {
/* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ServiceScope) */ /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}ServiceScope) */
errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name ServiceScope */ errn = encodeNBitUnsignedInteger(stream, 8, 194);
if(errn == 0) {
/* FirstStartTag[CHARACTERS[STRING]] */
errn = encodeNBitUnsignedInteger(stream, 1, 0);
if(errn == 0) {
/* encode string as string table miss (+2 len)*/
errn = encodeUnsignedInteger16(stream, (uint16_t)(exiFrag->ServiceScope.charactersLen + 2));
if (errn == 0) {
errn = encodeCharacters(stream, exiFrag->ServiceScope.characters, exiFrag->ServiceScope.charactersLen);
}
/* valid EE */
errn = encodeNBitUnsignedInteger(stream, 1, 0);
}
}
} else if ( exiFrag->ServiceScope_isUsed == 1u ) { } else if ( exiFrag->ServiceScope_isUsed == 1u ) {
/* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ServiceScope) */ /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}ServiceScope) */
errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name ServiceScope */ errn = encodeNBitUnsignedInteger(stream, 8, 195);
if(errn == 0) {
/* FirstStartTag[CHARACTERS[STRING]] */
errn = encodeNBitUnsignedInteger(stream, 1, 0);
if(errn == 0) {
/* encode string as string table miss (+2 len)*/
errn = encodeUnsignedInteger16(stream, (uint16_t)(exiFrag->ServiceScope.charactersLen + 2));
if (errn == 0) {
errn = encodeCharacters(stream, exiFrag->ServiceScope.characters, exiFrag->ServiceScope.charactersLen);
}
/* valid EE */
errn = encodeNBitUnsignedInteger(stream, 1, 0);
}
}
} else if ( exiFrag->SessionID_isUsed == 1u ) { } else if ( exiFrag->SessionID_isUsed == 1u ) {
/* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}SessionID) */ /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}SessionID) */
errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name SessionID */ errn = encodeNBitUnsignedInteger(stream, 8, 196);
if(errn == 0) {
/* FirstStartTag[CHARACTERS[BINARY_HEX]] */
errn = encodeNBitUnsignedInteger(stream, 1, 0);
if(errn == 0) {
errn = encodeUnsignedInteger16(stream, (uint16_t)(exiFrag->SessionID.bytesLen));
if (errn == 0) {
errn = encodeBytes(stream, exiFrag->SessionID.bytes, exiFrag->SessionID.bytesLen);
}
/* valid EE */
errn = encodeNBitUnsignedInteger(stream, 1, 0);
}
}
} else if ( exiFrag->SessionID_isUsed == 1u ) { } else if ( exiFrag->SessionID_isUsed == 1u ) {
/* START_ELEMENT({urn:iso:15118:2:2013:MsgHeader}SessionID) */ /* START_ELEMENT({urn:iso:15118:2:2013:MsgHeader}SessionID) */
errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name SessionID */ errn = encodeNBitUnsignedInteger(stream, 8, 197);
if(errn == 0) {
/* FirstStartTag[CHARACTERS[BINARY_HEX]] */
errn = encodeNBitUnsignedInteger(stream, 1, 0);
if(errn == 0) {
errn = encodeUnsignedInteger16(stream, (uint16_t)(exiFrag->SessionID.bytesLen));
if (errn == 0) {
errn = encodeBytes(stream, exiFrag->SessionID.bytes, exiFrag->SessionID.bytesLen);
}
/* valid EE */
errn = encodeNBitUnsignedInteger(stream, 1, 0);
}
}
} else if ( exiFrag->SessionSetupReq_isUsed == 1u ) { } else if ( exiFrag->SessionSetupReq_isUsed == 1u ) {
/* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}SessionSetupReq) */ /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}SessionSetupReq) */
errn = encodeNBitUnsignedInteger(stream, 8, 198); errn = encodeNBitUnsignedInteger(stream, 8, 198);
@ -14097,7 +14418,10 @@ int encode_iso1ExiFragment(bitstream_t* stream, struct iso1EXIFragment* exiFrag)
} }
} else if ( exiFrag->eMAID_isUsed == 1u ) { } else if ( exiFrag->eMAID_isUsed == 1u ) {
/* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}eMAID) */ /* START_ELEMENT({urn:iso:15118:2:2013:MsgBody}eMAID) */
errn = EXI_UNSUPPORTED_FRAGMENT_ELEMENT; /* overlapping name eMAID */ errn = encodeNBitUnsignedInteger(stream, 8, 236);
if(errn == 0) {
errn = encode_iso1EMAIDType(stream, &exiFrag->eMAID );
}
} else if ( exiFrag->intValue_isUsed == 1u ) { } else if ( exiFrag->intValue_isUsed == 1u ) {
/* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}intValue) */ /* START_ELEMENT({urn:iso:15118:2:2013:MsgDataTypes}intValue) */
errn = encodeNBitUnsignedInteger(stream, 8, 237); errn = encodeNBitUnsignedInteger(stream, 8, 237);

View file

@ -18,7 +18,7 @@
/******************************************************************* /*******************************************************************
* *
* @author Daniel.Peintner.EXT@siemens.com * @author Daniel.Peintner.EXT@siemens.com
* @version 2017-09-19 * @version 2017-11-16
* @contact Richard.Kuntschke@siemens.com * @contact Richard.Kuntschke@siemens.com
* *
* <p>Code generated by EXIdizer</p> * <p>Code generated by EXIdizer</p>

View file

@ -18,7 +18,7 @@
/******************************************************************* /*******************************************************************
* *
* @author Daniel.Peintner.EXT@siemens.com * @author Daniel.Peintner.EXT@siemens.com
* @version 2017-09-26 * @version 2017-11-16
* @contact Richard.Kuntschke@siemens.com * @contact Richard.Kuntschke@siemens.com
* *
* <p>Code generated by EXIdizer</p> * <p>Code generated by EXIdizer</p>

View file

@ -18,7 +18,7 @@
/******************************************************************* /*******************************************************************
* *
* @author Daniel.Peintner.EXT@siemens.com * @author Daniel.Peintner.EXT@siemens.com
* @version 2017-09-26 * @version 2017-11-16
* @contact Richard.Kuntschke@siemens.com * @contact Richard.Kuntschke@siemens.com
* *
* <p>Code generated by EXIdizer</p> * <p>Code generated by EXIdizer</p>

File diff suppressed because it is too large Load diff

View file

@ -18,7 +18,7 @@
/******************************************************************* /*******************************************************************
* *
* @author Daniel.Peintner.EXT@siemens.com * @author Daniel.Peintner.EXT@siemens.com
* @version 2017-09-26 * @version 2017-11-16
* @contact Richard.Kuntschke@siemens.com * @contact Richard.Kuntschke@siemens.com
* *
* <p>Code generated by EXIdizer</p> * <p>Code generated by EXIdizer</p>

File diff suppressed because it is too large Load diff

View file

@ -18,7 +18,7 @@
/******************************************************************* /*******************************************************************
* *
* @author Daniel.Peintner.EXT@siemens.com * @author Daniel.Peintner.EXT@siemens.com
* @version 2017-09-26 * @version 2017-11-16
* @contact Richard.Kuntschke@siemens.com * @contact Richard.Kuntschke@siemens.com
* *
* <p>Code generated by EXIdizer</p> * <p>Code generated by EXIdizer</p>