 c6dc6735fa
			
		
	
	c6dc6735fa
	
	
	
		
			
			- Reorganize project structure: Port/ → DotNet/, VC/, C++/ - Add comprehensive cross-platform build automation - Windows: build_all.bat, build.bat files for all components - Linux/macOS: build_all.sh, build.sh files for all components - Update all build scripts with correct folder paths - Create test automation scripts (test_all.bat/sh) - Update documentation to reflect new structure - Maintain 100% roundtrip accuracy for test5.exi (pure EXI) - Support both Windows MSBuild and Linux GCC compilation 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
		
			
				
	
	
		
			122 lines
		
	
	
		
			5.3 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
			
		
		
	
	
			122 lines
		
	
	
		
			5.3 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
| /*
 | |
|  * Copyright (C) 2007-2024 C# Port
 | |
|  * Original Copyright (C) 2007-2018 Siemens AG
 | |
|  *
 | |
|  * Iso2EXIDocument - 1:1 replica of VC2022 iso2EXIDocument structure
 | |
|  * ISO 15118-20 version
 | |
|  */
 | |
| 
 | |
| using V2GDecoderNet.V2G;
 | |
| 
 | |
| namespace V2GDecoderNet.EXI
 | |
| {
 | |
|     /// <summary>
 | |
|     /// 1:1 replica of VC2022's struct iso2EXIDocument for ISO 15118-20
 | |
|     /// This enables exact debugging comparison and identical call sequences
 | |
|     /// </summary>
 | |
|     public class Iso2EXIDocument
 | |
|     {
 | |
|         // Core V2G_Message for ISO2
 | |
|         public bool V2G_Message_isUsed { get; set; }
 | |
|         public V2GMessageExact V2G_Message { get; set; } = new V2GMessageExact();
 | |
|         
 | |
|         // ISO2-specific message types
 | |
|         public bool SessionSetupReq_isUsed { get; set; }
 | |
|         public bool SessionSetupRes_isUsed { get; set; }
 | |
|         public bool AuthorizationSetupReq_isUsed { get; set; }
 | |
|         public bool AuthorizationSetupRes_isUsed { get; set; }
 | |
|         public bool AuthorizationReq_isUsed { get; set; }
 | |
|         public bool AuthorizationRes_isUsed { get; set; }
 | |
|         public bool ServiceDiscoveryReq_isUsed { get; set; }
 | |
|         public bool ServiceDiscoveryRes_isUsed { get; set; }
 | |
|         public bool ServiceDetailReq_isUsed { get; set; }
 | |
|         public bool ServiceDetailRes_isUsed { get; set; }
 | |
|         public bool ServiceSelectionReq_isUsed { get; set; }
 | |
|         public bool ServiceSelectionRes_isUsed { get; set; }
 | |
|         public bool ScheduleExchangeReq_isUsed { get; set; }
 | |
|         public bool ScheduleExchangeRes_isUsed { get; set; }
 | |
|         public bool PowerDeliveryReq_isUsed { get; set; }
 | |
|         public bool PowerDeliveryRes_isUsed { get; set; }
 | |
|         public bool SessionStopReq_isUsed { get; set; }
 | |
|         public bool SessionStopRes_isUsed { get; set; }
 | |
|         
 | |
|         // DC charging specific (ISO2)
 | |
|         public bool DC_ChargeParameterDiscoveryReq_isUsed { get; set; }
 | |
|         public bool DC_ChargeParameterDiscoveryRes_isUsed { get; set; }
 | |
|         public bool DC_CableCheckReq_isUsed { get; set; }
 | |
|         public bool DC_CableCheckRes_isUsed { get; set; }
 | |
|         public bool DC_PreChargeReq_isUsed { get; set; }
 | |
|         public bool DC_PreChargeRes_isUsed { get; set; }
 | |
|         public bool DC_ChargeLoopReq_isUsed { get; set; }
 | |
|         public bool DC_ChargeLoopRes_isUsed { get; set; }
 | |
|         public bool DC_WeldingDetectionReq_isUsed { get; set; }
 | |
|         public bool DC_WeldingDetectionRes_isUsed { get; set; }
 | |
|         
 | |
|         // AC charging specific (ISO2)  
 | |
|         public bool AC_ChargeParameterDiscoveryReq_isUsed { get; set; }
 | |
|         public bool AC_ChargeParameterDiscoveryRes_isUsed { get; set; }
 | |
|         public bool AC_ChargeLoopReq_isUsed { get; set; }
 | |
|         public bool AC_ChargeLoopRes_isUsed { get; set; }
 | |
|         
 | |
|         // Additional ISO2 message types
 | |
|         public bool CertificateInstallationReq_isUsed { get; set; }
 | |
|         public bool CertificateInstallationRes_isUsed { get; set; }
 | |
|         public bool VehicleCheckInReq_isUsed { get; set; }
 | |
|         public bool VehicleCheckInRes_isUsed { get; set; }
 | |
|         public bool VehicleCheckOutReq_isUsed { get; set; }
 | |
|         public bool VehicleCheckOutRes_isUsed { get; set; }
 | |
|         
 | |
|         /// <summary>
 | |
|         /// Initialize document structure - equivalent to init_iso2EXIDocument()
 | |
|         /// </summary>
 | |
|         public void Initialize()
 | |
|         {
 | |
|             // Reset all _isUsed flags to false (VC2022 behavior)
 | |
|             V2G_Message_isUsed = false;
 | |
|             SessionSetupReq_isUsed = false;
 | |
|             SessionSetupRes_isUsed = false;
 | |
|             AuthorizationSetupReq_isUsed = false;
 | |
|             AuthorizationSetupRes_isUsed = false;
 | |
|             AuthorizationReq_isUsed = false;
 | |
|             AuthorizationRes_isUsed = false;
 | |
|             ServiceDiscoveryReq_isUsed = false;
 | |
|             ServiceDiscoveryRes_isUsed = false;
 | |
|             ServiceDetailReq_isUsed = false;
 | |
|             ServiceDetailRes_isUsed = false;
 | |
|             ServiceSelectionReq_isUsed = false;
 | |
|             ServiceSelectionRes_isUsed = false;
 | |
|             ScheduleExchangeReq_isUsed = false;
 | |
|             ScheduleExchangeRes_isUsed = false;
 | |
|             PowerDeliveryReq_isUsed = false;
 | |
|             PowerDeliveryRes_isUsed = false;
 | |
|             SessionStopReq_isUsed = false;
 | |
|             SessionStopRes_isUsed = false;
 | |
|             
 | |
|             DC_ChargeParameterDiscoveryReq_isUsed = false;
 | |
|             DC_ChargeParameterDiscoveryRes_isUsed = false;
 | |
|             DC_CableCheckReq_isUsed = false;
 | |
|             DC_CableCheckRes_isUsed = false;
 | |
|             DC_PreChargeReq_isUsed = false;
 | |
|             DC_PreChargeRes_isUsed = false;
 | |
|             DC_ChargeLoopReq_isUsed = false;
 | |
|             DC_ChargeLoopRes_isUsed = false;
 | |
|             DC_WeldingDetectionReq_isUsed = false;
 | |
|             DC_WeldingDetectionRes_isUsed = false;
 | |
|             
 | |
|             AC_ChargeParameterDiscoveryReq_isUsed = false;
 | |
|             AC_ChargeParameterDiscoveryRes_isUsed = false;
 | |
|             AC_ChargeLoopReq_isUsed = false;
 | |
|             AC_ChargeLoopRes_isUsed = false;
 | |
|             
 | |
|             CertificateInstallationReq_isUsed = false;
 | |
|             CertificateInstallationRes_isUsed = false;
 | |
|             VehicleCheckInReq_isUsed = false;
 | |
|             VehicleCheckInRes_isUsed = false;
 | |
|             VehicleCheckOutReq_isUsed = false;
 | |
|             VehicleCheckOutRes_isUsed = false;
 | |
|             
 | |
|             // Initialize V2G_Message structure
 | |
|             V2G_Message = new V2GMessageExact();
 | |
|         }
 | |
|     }
 | |
| } |