#pragma once #include "domain/project_limits.h" #include "plc_communication_gateway.h" #include #include // 应用启动后保持只读的用户配置;工程文件不会保存这些机器级偏好 struct ApplicationSettings { int version = 1; ProjectLimitSettings projectLimits; HmiDefaultSettings hmiDefaults; PlcSerialConfiguration plcDefaults = [] { PlcSerialConfiguration configuration; configuration.portName = "COM3"; return configuration; }(); }; // 配置加载结果同时携带主界面启动后需要显示的诊断信息 struct ApplicationSettingsLoadResult { ApplicationSettings settings; std::vector messages; bool warningRequired = false; std::string warningMessage; };