9#include "../common/JsonBuilder.hpp"
11#include "FederateIdExtra.hpp"
12#include "TimeCoordinator.hpp"
13#include "TranslatorInfo.hpp"
14#include "gmlc/containers/AirLock.hpp"
15#include "gmlc/containers/MappedPointerVector.hpp"
36 const std::string mName;
42 bool usingGlobalTime{
false};
51 std::function<void(
int, std::string_view, std::string_view)> mLogger;
52 std::function<gmlc::containers::AirLock<std::any>&(int)> mGetAirLock;
54 Time minReturnTime{Time::maxVal()};
57 gmlc::containers::MappedPointerVector<TranslatorInfo, GlobalHandle> translators;
67 std::string_view endpointType,
68 std::string_view units);
70 void setCallbacks(std::function<
void(
const ActionMessage&)> queueMessage,
75 mQueueMessage = std::move(queueMessage);
76 mQueueMessageMove = std::move(queueMessageMove);
77 mSendMessage = std::move(sendMessage);
78 mSendMessageMove = std::move(sendMessageMove);
81 void setLogger(std::function<
void(
int, std::string_view, std::string_view)> logger)
83 mLogger = std::move(logger);
86 void setDeliver(std::function<
void(
ActionMessage&)> deliverMessage)
88 mDeliverMessage = std::move(deliverMessage);
91 void setAirLockFunction(std::function<gmlc::containers::AirLock<std::any>&(
int)> getAirLock)
93 mGetAirLock = std::move(getAirLock);
98 void setHandleManager(
HandleManager* handles) { mHandles = handles; }
100 std::string query(std::string_view queryStr)
const;
104 void useGlobalTimeCoordinator(
bool value)
106 usingGlobalTime = value;
Definition ActionMessage.hpp:30
Definition core/Core.hpp:41
Definition GlobalFederateId.hpp:30
Definition GlobalFederateId.hpp:75
Definition GlobalFederateId.hpp:147
Definition HandleManager.hpp:25
Definition LocalFederateId.hpp:65
Definition TimeCoordinator.hpp:48
bool globalTime
true if using a global time manager parent
Definition TimeCoordinator.hpp:94
Definition TranslatorFederate.hpp:32
bool hasActiveTimeDependencies() const
Definition TranslatorFederate.cpp:475
TranslatorInfo * createTranslator(GlobalBrokerId dest, InterfaceHandle handle, std::string_view key, std::string_view endpointType, std::string_view units)
Definition TranslatorFederate.cpp:291
Definition TranslatorInfo.hpp:32
the main namespace for the helics co-simulation library User functions will be in the helics namespac...
Definition AsyncFedCallInfo.hpp:14
FederateStates
Definition CoreTypes.hpp:21
TimeRepresentation< count_time< 9 > > Time
Definition helicsTime.hpp:27