fmu_config Last update: 16.07.2025 1 4 #pragma once 5 6 #include <map> 7 #include <set> 8 #include <string> 9 #include <variant> 10 #include <vector> 11 16 namespace simulation_framework 17 { 18 namespace core 19 { 20 namespace lifecycle 21 { 22 23 using FmuInOutType = std::variant<bool, int, double, std::string, std::vector<uint8_t>>; 24 using FmuInOutMap = std::map<std::string, FmuInOutType>; 25 using FmuTopicToVarNames = std::map<std::string, std::set<std::string>>; 26 using FmuTopicToVarMap = std::map<std::string, FmuInOutMap>; 27 using FmuMessageToVarNames = std::map<std::string, std::string>; 28 using FmuVarToMessageNames = std::map<std::string, std::string>; 29 32 struct FmuConfig 33 { 34 enum class MessageType 35 { 36 kFmuMessage, 37 kGenericBytesMessage 38 }; 39 41 std::string path; 42 44 FmuTopicToVarNames topics_to_inputs{}; 45 47 FmuTopicToVarNames topics_to_outputs{}; 48 52 FmuMessageToVarNames message_to_var_name{}; 53 57 FmuVarToMessageNames var_to_message_name{}; 58 60 std::map<std::string, MessageType> topic_to_message_type{}; 61 }; 62 63 } // namespace lifecycle 64 } // namespace core 65 } // namespace simulation_framework