Sfoglia il codice sorgente

fix eMAID fragment encoding/decoding (issue reported in https://sourceforge.net/p/openv2g/tickets/11/)

git-svn-id: https://svn.code.sf.net/p/openv2g/code/trunk@109 d9f2db14-54d0-4bde-b00c-16405c910529
daniel_peintner 8 anni fa
parent
commit
b47721107e

+ 5 - 1
src/iso1/iso1EXIDatatypes.c

@@ -18,7 +18,7 @@
 /*******************************************************************
  *
  * @author Daniel.Peintner.EXT@siemens.com
- * @version 2017-11-16 
+ * @version 2017-12-12 
  * @contact Richard.Kuntschke@siemens.com
  *
  * <p>Code generated by EXIdizer</p>
@@ -428,6 +428,10 @@ void init_iso1EXIFragment(struct iso1EXIFragment* exiFrag) {
 	exiFrag->RequestedEnergyTransferMode_isUsed = 0u;
 	exiFrag->SessionID_isUsed = 0u;
 }
+void init_iso1EXISchemaInformedElementFragmentGrammar(struct iso1EXISchemaInformedElementFragmentGrammar* exiFrag) {
+	exiFrag->Id_isUsed = 0u;
+	exiFrag->CHARACTERS_GENERIC_isUsed = 0u;
+}
 #endif /* DEPLOY_ISO1_CODEC_FRAGMENT */
 
 void init_iso1MessageHeaderType(struct iso1MessageHeaderType* iso1MessageHeaderType) {

+ 24 - 2
src/iso1/iso1EXIDatatypes.h

@@ -18,7 +18,7 @@
 /*******************************************************************
  *
  * @author Daniel.Peintner.EXT@siemens.com
- * @version 2017-11-16 
+ * @version 2017-12-12 
  * @contact Richard.Kuntschke@siemens.com
  *
  * <p>Code generated by EXIdizer</p>
@@ -2079,6 +2079,8 @@ struct iso1AnonType_V2G_Message {
 #define EXIFragment_Certificate_BYTES_SIZE 800 /* XML schema facet maxLength for urn:iso:15118:2:2013:MsgDataTypes,certificateType is 800 */
 #define EXIFragment_X509IssuerName_CHARACTERS_SIZE 50 + EXTRA_CHAR 
 #define EXIFragment_Modulus_BYTES_SIZE 350 
+#define exiElementFrag_Id_CHARACTERS_SIZE 50 + EXTRA_CHAR 
+#define exiElementFrag_CHARACTERS_GENERIC_CHARACTERS_SIZE 50 + EXTRA_CHAR 
 
 
 /* Global elements of EXI Document */
@@ -2265,6 +2267,24 @@ struct iso1EXIDocument {
 
 
 #if DEPLOY_ISO1_CODEC_FRAGMENT == SUPPORT_YES
+struct iso1EXISchemaInformedElementFragmentGrammar {
+	/* Schema-informed Element Fragment Grammar for START_ELEMENT({urn:iso:15118:2:2013:MsgBody}eMAID) */
+	/* 4 ATTRIBUTE[STRING]({urn:iso:15118:2:2013:MsgDataTypes}Id) */
+	unsigned int Id_isUsed:1;
+	struct {
+		exi_string_character_t characters[exiElementFrag_Id_CHARACTERS_SIZE];
+		uint16_t charactersLen;
+	} Id ;
+	/* 247 START_ELEMENT({urn:iso:15118:2:2013:MsgBody}eMAID) */
+	unsigned int CHARACTERS_GENERIC_isUsed:1;
+	struct {
+		exi_string_character_t characters[exiElementFrag_CHARACTERS_GENERIC_CHARACTERS_SIZE];
+		uint16_t charactersLen;
+	} CHARACTERS_GENERIC ;
+
+
+	int _warning_;
+};
 /* Possible elements of EXI Fragment */
 struct iso1EXIFragment {
 #if SAVE_MEMORY_WITH_UNNAMED_UNION == UNION_YES
@@ -2494,7 +2514,8 @@ struct iso1EXIFragment {
 	struct iso1EVStatusType EVStatus ;
 	struct iso1SupportedEnergyTransferModeType SupportedEnergyTransferMode ;
 	struct iso1SignedInfoType SignedInfo ;
-	struct iso1EMAIDType eMAID ;
+	/* Schema-informed Element Fragment Grammar for {urn:iso:15118:2:2013:MsgBody}eMAID */
+	struct iso1EXISchemaInformedElementFragmentGrammar eMAID ;
 	uint16_t MaxEntriesSAScheduleTuple ;
 	iso1paymentOptionType PaymentOption ;
 	struct iso1SubCertificatesType SubCertificates ;
@@ -2839,6 +2860,7 @@ struct iso1EXIFragment {
 void init_iso1EXIDocument(struct iso1EXIDocument* exiDoc);
 #if DEPLOY_ISO1_CODEC_FRAGMENT == SUPPORT_YES
 void init_iso1EXIFragment(struct iso1EXIFragment* exiFrag);
+void init_iso1EXISchemaInformedElementFragmentGrammar(struct iso1EXISchemaInformedElementFragmentGrammar* exiFrag);
 #endif /* DEPLOY_ISO1_CODEC_FRAGMENT */
 void init_iso1MessageHeaderType(struct iso1MessageHeaderType* iso1MessageHeaderType);
 void init_iso1SignatureType(struct iso1SignatureType* iso1SignatureType);

File diff suppressed because it is too large
+ 9 - 1
src/iso1/iso1EXIDatatypesDecoder.c


+ 1 - 1
src/iso1/iso1EXIDatatypesDecoder.h

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

File diff suppressed because it is too large
+ 8 - 1
src/iso1/iso1EXIDatatypesEncoder.c


+ 1 - 1
src/iso1/iso1EXIDatatypesEncoder.h

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

Some files were not shown because too many files changed in this diff