Files
V2GDecoderC/DotNet/EXI/Iso2EXIDocument.cs
ChiKyun Kim c6dc6735fa feat: Complete cross-platform build system and folder reorganization
- 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>
2025-09-12 09:36:38 +09:00

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();
}
}
}