Kaynağa Gözat

* improves EXI codec footprint

daniel_peintner 15 yıl önce
ebeveyn
işleme
6d662418c2

+ 1 - 1
src/codec/BitDecoderChannel.c

@@ -18,7 +18,7 @@
 /*******************************************************************
  *
  * @author Daniel.Peintner.EXT@siemens.com
- * @version 0.2.1
+ * @version 0.2.2
  * @contact Joerg.Heuer@siemens.com
  *
  * Bit decoding functionalities

+ 1 - 1
src/codec/BitDecoderChannel.h

@@ -18,7 +18,7 @@
 /*******************************************************************
  *
  * @author Daniel.Peintner.EXT@siemens.com
- * @version 0.2.1
+ * @version 0.2.2
  * @contact Joerg.Heuer@siemens.com
  *
  ********************************************************************/

+ 1 - 1
src/codec/BitEncoderChannel.c

@@ -18,7 +18,7 @@
 /*******************************************************************
  *
  * @author Daniel.Peintner.EXT@siemens.com
- * @version 0.2.1
+ * @version 0.2.2
  * @contact Joerg.Heuer@siemens.com
  *
  ********************************************************************/

+ 1 - 1
src/codec/BitEncoderChannel.h

@@ -18,7 +18,7 @@
 /*******************************************************************
  *
  * @author Daniel.Peintner.EXT@siemens.com
- * @version 0.2.1
+ * @version 0.2.2
  * @contact Joerg.Heuer@siemens.com
  *
  ********************************************************************/

+ 1 - 1
src/codec/BitInputStream.c

@@ -18,7 +18,7 @@
 /*******************************************************************
  *
  * @author Daniel.Peintner.EXT@siemens.com
- * @version 0.2.1
+ * @version 0.2.2
  * @contact Joerg.Heuer@siemens.com
  *
  ********************************************************************/

+ 1 - 1
src/codec/BitInputStream.h

@@ -18,7 +18,7 @@
 /*******************************************************************
  *
  * @author Daniel.Peintner.EXT@siemens.com
- * @version 0.2.1
+ * @version 0.2.2
  * @contact Joerg.Heuer@siemens.com
  *
  ********************************************************************/

+ 1 - 1
src/codec/BitOutputStream.c

@@ -18,7 +18,7 @@
 /*******************************************************************
  *
  * @author Daniel.Peintner.EXT@siemens.com
- * @version 0.2.1
+ * @version 0.2.2
  * @contact Joerg.Heuer@siemens.com
  *
  ********************************************************************/

+ 1 - 1
src/codec/BitOutputStream.h

@@ -18,7 +18,7 @@
 /*******************************************************************
  *
  * @author Daniel.Peintner.EXT@siemens.com
- * @version 0.2.1
+ * @version 0.2.2
  * @contact Joerg.Heuer@siemens.com
  *
  ********************************************************************/

+ 1 - 1
src/codec/BitStream.c

@@ -18,7 +18,7 @@
 /*******************************************************************
  *
  * @author Daniel.Peintner.EXT@siemens.com
- * @version 0.2.1
+ * @version 0.2.2
  * @contact Joerg.Heuer@siemens.com
  *
  ********************************************************************/

+ 1 - 1
src/codec/BitStream.h

@@ -18,7 +18,7 @@
 /*******************************************************************
  *
  * @author Daniel.Peintner.EXT@siemens.com
- * @version 0.2.1
+ * @version 0.2.2
  * @contact Joerg.Heuer@siemens.com
  *
  ********************************************************************/

+ 1 - 1
src/codec/EXICoder.c

@@ -18,7 +18,7 @@
 /*******************************************************************
  *
  * @author Daniel.Peintner.EXT@siemens.com
- * @version 0.2.1
+ * @version 0.2.2
  * @contact Joerg.Heuer@siemens.com
  *
  ********************************************************************/

+ 1 - 1
src/codec/EXICoder.h

@@ -18,7 +18,7 @@
 /*******************************************************************
  *
  * @author Daniel.Peintner.EXT@siemens.com
- * @version 0.2.1
+ * @version 0.2.2
  * @contact Joerg.Heuer@siemens.com
  *
  ********************************************************************/

Dosya farkı çok büyük olduğundan ihmal edildi
+ 209 - 938
src/codec/EXIDecoder.c


+ 1 - 1
src/codec/EXIDecoder.h

@@ -18,7 +18,7 @@
 /*******************************************************************
  *
  * @author Daniel.Peintner.EXT@siemens.com
- * @version 0.2.1
+ * @version 0.2.2
  * @contact Joerg.Heuer@siemens.com
  *
  ********************************************************************/

+ 67 - 253
src/codec/EXIEncoder.c

@@ -18,7 +18,7 @@
 /*******************************************************************
  *
  * @author Daniel.Peintner.EXT@siemens.com
- * @version 0.2.1
+ * @version 0.2.2
  * @contact Joerg.Heuer@siemens.com
  *
  * <p>NOTE: Code generated by EXIdizer v0.1</p>
@@ -1613,398 +1613,150 @@ int exiEncodeStartElement(bitstream_t* stream, exi_state_t* state,
 int exiEncodeEndElement(bitstream_t* stream, exi_state_t* state,
 		eqname_t* ee) {
 	switch (state->grammarStack[state->stackIndex]) {
+	case 62:
+		/* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}MeterPubKey), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}MeterReading), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}MeterStatus), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}TMeter), END_ELEMENT] */
+		encodeNBitUnsignedInteger(stream, 3, 4);
+		break;
 	case 3:
 		/* FirstStartTag(xsi:type)StartTag[END_ELEMENT] */
-		/* no event code to write */
-		break;
 	case 26:
 		/* Element[END_ELEMENT] */
-		/* no event code to write */
-		break;
 	case 29:
 		/* Element[END_ELEMENT] */
-		/* no event code to write */
-		break;
 	case 31:
 		/* Element[END_ELEMENT] */
-		/* no event code to write */
-		break;
 	case 32:
 		/* Element[END_ELEMENT] */
-		/* no event code to write */
-		break;
 	case 35:
 		/* Element[END_ELEMENT] */
-		/* no event code to write */
-		break;
 	case 37:
 		/* Element[END_ELEMENT] */
-		/* no event code to write */
-		break;
 	case 46:
 		/* Element[END_ELEMENT] */
-		/* no event code to write */
-		break;
 	case 48:
 		/* Element[END_ELEMENT] */
-		/* no event code to write */
-		break;
 	case 49:
 		/* Element[END_ELEMENT] */
-		/* no event code to write */
-		break;
 	case 50:
 		/* Element[END_ELEMENT] */
-		/* no event code to write */
-		break;
 	case 51:
 		/* Element[END_ELEMENT] */
-		/* no event code to write */
-		break;
 	case 58:
 		/* Element[END_ELEMENT] */
-		/* no event code to write */
-		break;
 	case 60:
 		/* Element[END_ELEMENT] */
-		/* no event code to write */
-		break;
 	case 61:
 		/* Element[END_ELEMENT] */
-		/* no event code to write */
-		break;
 	case 70:
 		/* Element[END_ELEMENT] */
-		/* no event code to write */
-		break;
-	case 68:
-		/* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}TMeter), END_ELEMENT] */
-		encodeNBitUnsignedInteger(stream, 1, 1);
-		break;
-	case 66:
-		/* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}MeterStatus), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}TMeter), END_ELEMENT] */
-		encodeNBitUnsignedInteger(stream, 2, 2);
-		break;
-	case 64:
-		/* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}MeterReading), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}MeterStatus), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}TMeter), END_ELEMENT] */
-		encodeNBitUnsignedInteger(stream, 2, 3);
-		break;
-	case 62:
-		/* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}MeterPubKey), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}MeterReading), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}MeterStatus), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}TMeter), END_ELEMENT] */
-		encodeNBitUnsignedInteger(stream, 3, 4);
-		break;
-	case 59:
-		/* FirstStartTagStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}MeterID), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}MeterPubKey), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}MeterReading), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}MeterStatus), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}TMeter), END_ELEMENT] */
-		encodeNBitUnsignedInteger(stream, 3, 5);
-		break;
 	case 71:
 		/* Element[END_ELEMENT] */
-		/* no event code to write */
-		break;
 	case 72:
 		/* Element[END_ELEMENT] */
-		/* no event code to write */
-		break;
 	case 76:
 		/* Element[END_ELEMENT] */
-		/* no event code to write */
-		break;
 	case 78:
 		/* Element[END_ELEMENT] */
-		/* no event code to write */
-		break;
 	case 79:
 		/* Element[END_ELEMENT] */
-		/* no event code to write */
-		break;
 	case 80:
 		/* Element[END_ELEMENT] */
-		/* no event code to write */
-		break;
 	case 81:
 		/* Element[END_ELEMENT] */
-		/* no event code to write */
-		break;
 	case 83:
 		/* Element[END_ELEMENT] */
-		/* no event code to write */
-		break;
 	case 9:
 		/* FirstStartTagStartTag[END_ELEMENT] */
-		/* no event code to write */
-		break;
 	case 92:
 		/* Element[END_ELEMENT] */
-		/* no event code to write */
-		break;
-	case 91:
-		/* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}MeterInfo), END_ELEMENT] */
-		encodeNBitUnsignedInteger(stream, 1, 1);
-		break;
-	case 90:
-		/* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PCurrent), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}MeterInfo), END_ELEMENT] */
-		encodeNBitUnsignedInteger(stream, 2, 2);
-		break;
 	case 93:
 		/* Element[END_ELEMENT] */
-		/* no event code to write */
-		break;
 	case 94:
 		/* Element[END_ELEMENT] */
-		/* no event code to write */
-		break;
 	case 95:
 		/* Element[END_ELEMENT] */
-		/* no event code to write */
-		break;
 	case 97:
 		/* Element[END_ELEMENT] */
-		/* no event code to write */
-		break;
 	case 98:
 		/* Element[END_ELEMENT] */
-		/* no event code to write */
-		break;
 	case 100:
 		/* Element[END_ELEMENT] */
-		/* no event code to write */
-		break;
 	case 104:
 		/* Element[END_ELEMENT] */
-		/* no event code to write */
-		break;
-	case 103:
-		/* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ChargingProfile), END_ELEMENT] */
-		encodeNBitUnsignedInteger(stream, 1, 1);
-		break;
-	case 102:
-		/* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}Tariff), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ChargingProfile), END_ELEMENT] */
-		encodeNBitUnsignedInteger(stream, 2, 2);
-		break;
 	case 107:
 		/* Element[END_ELEMENT] */
-		/* no event code to write */
-		break;
 	case 108:
 		/* Element[END_ELEMENT] */
-		/* no event code to write */
-		break;
 	case 110:
 		/* Element[END_ELEMENT] */
-		/* no event code to write */
-		break;
 	case 118:
 		/* Element[END_ELEMENT] */
-		/* no event code to write */
-		break;
 	case 119:
 		/* Element[END_ELEMENT] */
-		/* no event code to write */
-		break;
 	case 128:
 		/* Element[END_ELEMENT] */
-		/* no event code to write */
-		break;
-	case 126:
-		/* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}TariffTable), END_ELEMENT] */
-		encodeNBitUnsignedInteger(stream, 1, 1);
-		break;
-	case 125:
-		/* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EnergyProvider), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}TariffTable), END_ELEMENT] */
-		encodeNBitUnsignedInteger(stream, 2, 2);
-		break;
 	case 130:
 		/* Element[END_ELEMENT] */
-		/* no event code to write */
-		break;
 	case 131:
 		/* Element[END_ELEMENT] */
-		/* no event code to write */
-		break;
-	case 134:
-		/* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Tariff), END_ELEMENT] */
-		encodeNBitUnsignedInteger(stream, 1, 1);
-		break;
 	case 136:
 		/* Element[END_ELEMENT] */
-		/* no event code to write */
-		break;
 	case 140:
 		/* Element[END_ELEMENT] */
-		/* no event code to write */
-		break;
 	case 142:
 		/* Element[END_ELEMENT] */
-		/* no event code to write */
-		break;
-	case 143:
-		/* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}TariffEntry), END_ELEMENT] */
-		encodeNBitUnsignedInteger(stream, 1, 1);
-		break;
 	case 148:
 		/* Element[END_ELEMENT] */
-		/* no event code to write */
-		break;
-	case 147:
-		/* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EPrice), END_ELEMENT] */
-		encodeNBitUnsignedInteger(stream, 1, 1);
-		break;
 	case 149:
 		/* Element[END_ELEMENT] */
-		/* no event code to write */
-		break;
 	case 152:
 		/* Element[END_ELEMENT] */
-		/* no event code to write */
-		break;
-	case 150:
-		/* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceScope), END_ELEMENT] */
-		encodeNBitUnsignedInteger(stream, 1, 1);
-		break;
-	case 17:
-		/* FirstStartTagStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceType), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceScope), END_ELEMENT] */
-		encodeNBitUnsignedInteger(stream, 2, 2);
-		break;
 	case 154:
 		/* Element[END_ELEMENT] */
-		/* no event code to write */
-		break;
 	case 155:
 		/* Element[END_ELEMENT] */
-		/* no event code to write */
-		break;
 	case 158:
 		/* Element[END_ELEMENT] */
-		/* no event code to write */
-		break;
-	case 156:
-		/* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceList), END_ELEMENT] */
-		encodeNBitUnsignedInteger(stream, 1, 1);
-		break;
 	case 160:
 		/* Element[END_ELEMENT] */
-		/* no event code to write */
-		break;
-	case 161:
-		/* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Service), END_ELEMENT] */
-		encodeNBitUnsignedInteger(stream, 1, 1);
-		break;
 	case 168:
 		/* Element[END_ELEMENT] */
-		/* no event code to write */
-		break;
-	case 167:
-		/* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceScope), END_ELEMENT] */
-		encodeNBitUnsignedInteger(stream, 1, 1);
-		break;
-	case 165:
-		/* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceType), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceScope), END_ELEMENT] */
-		encodeNBitUnsignedInteger(stream, 2, 2);
-		break;
-	case 163:
-		/* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceName), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceType), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceScope), END_ELEMENT] */
-		encodeNBitUnsignedInteger(stream, 2, 3);
-		break;
 	case 169:
 		/* Element[END_ELEMENT] */
-		/* no event code to write */
-		break;
 	case 170:
 		/* Element[END_ELEMENT] */
-		/* no event code to write */
-		break;
 	case 172:
 		/* Element[END_ELEMENT] */
-		/* no event code to write */
-		break;
 	case 175:
 		/* Element[END_ELEMENT] */
-		/* no event code to write */
-		break;
-	case 173:
-		/* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}MeteringAuthPubKey), END_ELEMENT] */
-		encodeNBitUnsignedInteger(stream, 1, 1);
-		break;
 	case 176:
 		/* Element[END_ELEMENT] */
-		/* no event code to write */
-		break;
 	case 178:
 		/* Element[END_ELEMENT] */
-		/* no event code to write */
-		break;
 	case 183:
 		/* Element[END_ELEMENT] */
-		/* no event code to write */
-		break;
 	case 184:
 		/* Element[END_ELEMENT] */
-		/* no event code to write */
-		break;
 	case 187:
 		/* Element[END_ELEMENT] */
-		/* no event code to write */
-		break;
 	case 191:
 		/* Element[END_ELEMENT] */
-		/* no event code to write */
-		break;
-	case 189:
-		/* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDef}Notification), END_ELEMENT] */
-		encodeNBitUnsignedInteger(stream, 1, 1);
-		break;
 	case 196:
 		/* Element[END_ELEMENT] */
-		/* no event code to write */
-		break;
-	case 195:
-		/* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ProtocolVersion), END_ELEMENT] */
-		encodeNBitUnsignedInteger(stream, 1, 1);
-		break;
-	case 193:
-		/* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceSessionID), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ProtocolVersion), END_ELEMENT] */
-		encodeNBitUnsignedInteger(stream, 2, 2);
-		break;
 	case 198:
 		/* Element[END_ELEMENT] */
-		/* no event code to write */
-		break;
 	case 199:
 		/* Element[END_ELEMENT] */
-		/* no event code to write */
-		break;
 	case 204:
 		/* Element[END_ELEMENT] */
-		/* no event code to write */
-		break;
-	case 202:
-		/* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EventList), END_ELEMENT] */
-		encodeNBitUnsignedInteger(stream, 1, 1);
-		break;
-	case 200:
-		/* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}FaultMsg), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EventList), END_ELEMENT] */
-		encodeNBitUnsignedInteger(stream, 2, 2);
-		break;
-	case 192:
-		/* FirstStartTagStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}FaultCode), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}FaultMsg), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EventList), END_ELEMENT] */
-		encodeNBitUnsignedInteger(stream, 2, 3);
-		break;
 	case 206:
 		/* Element[END_ELEMENT] */
-		/* no event code to write */
-		break;
 	case 207:
 		/* Element[END_ELEMENT] */
-		/* no event code to write */
-		break;
 	case 208:
 		/* Element[END_ELEMENT] */
-		/* no event code to write */
-		break;
 	case 210:
 		/* Element[END_ELEMENT] */
-		/* no event code to write */
-		break;
 	case 211:
 		/* Element[END_ELEMENT] */
 		/* no event code to write */
@@ -2013,6 +1765,68 @@ int exiEncodeEndElement(bitstream_t* stream, exi_state_t* state,
 		/* FirstStartTagStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDef}BodyElement), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}LineLockReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}LineLockRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}MeteringReceiptReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}MeteringReceiptRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}MeteringStatusReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}MeteringStatusRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PaymentDetailsReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PaymentDetailsRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PowerDeliveryReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PowerDeliveryRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PowerDiscoveryReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PowerDiscoveryRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceDiscoveryReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceDiscoveryRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServicePaymentSelectionReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServicePaymentSelectionRes), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}SessionSetupReq), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}SessionSetupRes), END_ELEMENT] */
 		encodeNBitUnsignedInteger(stream, 5, 19);
 		break;
+	case 64:
+		/* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}MeterReading), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}MeterStatus), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}TMeter), END_ELEMENT] */
+	case 163:
+		/* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceName), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceType), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceScope), END_ELEMENT] */
+	case 192:
+		/* FirstStartTagStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}FaultCode), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}FaultMsg), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EventList), END_ELEMENT] */
+		encodeNBitUnsignedInteger(stream, 2, 3);
+		break;
+	case 68:
+		/* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}TMeter), END_ELEMENT] */
+	case 91:
+		/* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}MeterInfo), END_ELEMENT] */
+	case 103:
+		/* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ChargingProfile), END_ELEMENT] */
+	case 126:
+		/* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}TariffTable), END_ELEMENT] */
+	case 134:
+		/* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Tariff), END_ELEMENT] */
+	case 143:
+		/* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}TariffEntry), END_ELEMENT] */
+	case 147:
+		/* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EPrice), END_ELEMENT] */
+	case 150:
+		/* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceScope), END_ELEMENT] */
+	case 156:
+		/* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceList), END_ELEMENT] */
+	case 161:
+		/* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}Service), END_ELEMENT] */
+	case 167:
+		/* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceScope), END_ELEMENT] */
+	case 173:
+		/* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}MeteringAuthPubKey), END_ELEMENT] */
+	case 189:
+		/* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDef}Notification), END_ELEMENT] */
+	case 195:
+		/* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ProtocolVersion), END_ELEMENT] */
+	case 202:
+		/* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EventList), END_ELEMENT] */
+		encodeNBitUnsignedInteger(stream, 1, 1);
+		break;
+	case 59:
+		/* FirstStartTagStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}MeterID), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}MeterPubKey), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}MeterReading), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}MeterStatus), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}TMeter), END_ELEMENT] */
+		encodeNBitUnsignedInteger(stream, 3, 5);
+		break;
+	case 66:
+		/* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}MeterStatus), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}TMeter), END_ELEMENT] */
+	case 90:
+		/* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}PCurrent), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}MeterInfo), END_ELEMENT] */
+	case 102:
+		/* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}Tariff), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ChargingProfile), END_ELEMENT] */
+	case 125:
+		/* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}EnergyProvider), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}TariffTable), END_ELEMENT] */
+	case 17:
+		/* FirstStartTagStartTag[START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceType), START_ELEMENT({urn:iso:15118:2:2010:MsgBody}ServiceScope), END_ELEMENT] */
+	case 165:
+		/* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceType), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceScope), END_ELEMENT] */
+	case 193:
+		/* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ServiceSessionID), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}ProtocolVersion), END_ELEMENT] */
+	case 200:
+		/* Element[START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}FaultMsg), START_ELEMENT({urn:iso:15118:2:2010:MsgDataTypes}EventList), END_ELEMENT] */
+		encodeNBitUnsignedInteger(stream, 2, 2);
+		break;
 
 	default:
 		return -1;

+ 1 - 1
src/codec/EXIEncoder.h

@@ -18,7 +18,7 @@
 /*******************************************************************
  *
  * @author Daniel.Peintner.EXT@siemens.com
- * @version 0.2.1
+ * @version 0.2.2
  * @contact Joerg.Heuer@siemens.com
  *
  ********************************************************************/

+ 1 - 1
src/codec/EXIHeaderDecoder.c

@@ -18,7 +18,7 @@
 /*******************************************************************
  *
  * @author Daniel.Peintner.EXT@siemens.com
- * @version 0.2.1
+ * @version 0.2.2
  * @contact Joerg.Heuer@siemens.com
  *
  ********************************************************************/

+ 1 - 1
src/codec/EXIHeaderDecoder.h

@@ -18,7 +18,7 @@
 /*******************************************************************
  *
  * @author Daniel.Peintner.EXT@siemens.com
- * @version 0.2.1
+ * @version 0.2.2
  * @contact Joerg.Heuer@siemens.com
  *
  ********************************************************************/

+ 1 - 1
src/codec/EXIHeaderEncoder.c

@@ -18,7 +18,7 @@
 /*******************************************************************
  *
  * @author Daniel.Peintner.EXT@siemens.com
- * @version 0.2.1
+ * @version 0.2.2
  * @contact Joerg.Heuer@siemens.com
  *
  ********************************************************************/

+ 1 - 1
src/codec/EXIHeaderEncoder.h

@@ -18,7 +18,7 @@
 /*******************************************************************
  *
  * @author Daniel.Peintner.EXT@siemens.com
- * @version 0.2.1
+ * @version 0.2.2
  * @contact Joerg.Heuer@siemens.com
  *
  ********************************************************************/

+ 1 - 1
src/codec/EXITypes.h

@@ -18,7 +18,7 @@
 /*******************************************************************
  *
  * @author Daniel.Peintner.EXT@siemens.com
- * @version 0.2.1
+ * @version 0.2.2
  * @contact Joerg.Heuer@siemens.com
  *
  ********************************************************************/

+ 1 - 1
src/codec/StringTable.c

@@ -18,7 +18,7 @@
 /*******************************************************************
  *
  * @author Daniel.Peintner.EXT@siemens.com
- * @version 0.2.1
+ * @version 0.2.2
  * @contact Joerg.Heuer@siemens.com
  *
  ********************************************************************/

+ 1 - 1
src/codec/StringTable.h

@@ -18,7 +18,7 @@
 /*******************************************************************
  *
  * @author Daniel.Peintner.EXT@siemens.com
- * @version 0.2.1
+ * @version 0.2.2
  * @contact Joerg.Heuer@siemens.com
  *
  ********************************************************************/

+ 1 - 1
src/codec/StringTableEntries.c

@@ -18,7 +18,7 @@
 /*******************************************************************
  *
  * @author Daniel.Peintner.EXT@siemens.com
- * @version 0.2.1
+ * @version 0.2.2
  * @contact Joerg.Heuer@siemens.com
  *
  ********************************************************************/

+ 1 - 1
src/codec/StringTableEntries.h

@@ -18,7 +18,7 @@
 /*******************************************************************
  *
  * @author Daniel.Peintner.EXT@siemens.com
- * @version 0.2.1
+ * @version 0.2.2
  * @contact Joerg.Heuer@siemens.com
  *
  ********************************************************************/

+ 1 - 1
src/codec/UCSString.c

@@ -18,7 +18,7 @@
 /*******************************************************************
  *
  * @author Daniel.Peintner.EXT@siemens.com
- * @version 0.2.1
+ * @version 0.2.2
  * @contact Joerg.Heuer@siemens.com
  *
  ********************************************************************/

+ 1 - 1
src/codec/UCSString.h

@@ -18,7 +18,7 @@
 /*******************************************************************
  *
  * @author Daniel.Peintner.EXT@siemens.com
- * @version 0.2.1
+ * @version 0.2.2
  * @contact Joerg.Heuer@siemens.com
  *
  ********************************************************************/

+ 41 - 0
src/test/main.c

@@ -0,0 +1,41 @@
+/*
+ * Copyright (C) 2007-2010 Siemens AG
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published
+ * by the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+/*******************************************************************
+ *
+ * @author Daniel.Peintner.EXT@siemens.com
+ * @author Sebastian.Kaebisch.EXT@siemens.com
+ * @version 0.2.2
+ * @contact Joerg.Heuer@siemens.com
+ *
+ * <p>Switch for sample programs: EXI codec only or for entire service</p>
+ *
+ ********************************************************************/
+
+#include <stdio.h>
+#include <stdlib.h>
+
+#include "main.h"
+
+int main(int argc, char *argv[]) {
+	/* EXI codec only */
+	/* return main_codec(argc, argv);*/
+
+	/* Entire V2G service */
+	return main_service(argc, argv);
+}
+

+ 24 - 0
src/test/main.h

@@ -0,0 +1,24 @@
+/*
+ * Copyright (C) 2007-2010 Siemens AG
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published
+ * by the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#ifndef MAIN_H_
+#define MAIN_H_
+
+int main_codec(int argc, char *argv[]);
+int main_service(int argc, char *argv[]);
+
+#endif

+ 1 - 1
src/test/main_codec.c

@@ -18,7 +18,7 @@
 /*******************************************************************
  *
  * @author Daniel.Peintner.EXT@siemens.com
- * @version 0.2.1
+ * @version 0.2.2
  * @contact Joerg.Heuer@siemens.com
  *
  * <p>Sample program to illustrate how to read an EXI stream and

+ 1 - 1
src/test/main_service.c

@@ -37,7 +37,7 @@
 #define MAX_STRING_SIZE 256
 #define MAX_STREAM_SIZE 60
 
-int main(int argc, char *argv[])
+int main_service(int argc, char *argv[])
 {
 
 	static uint8_t byte_array[MAX_BYTE_SIZE]; /* define MAX_BYTE_SIZE before*/

Bu fark içinde çok fazla dosya değişikliği olduğu için bazı dosyalar gösterilmiyor