 |
helics
3.3.0
|
9 #include "../common/JsonBuilder.hpp"
11 #include "GlobalFederateId.hpp"
12 #include "TimeCoordinator.hpp"
13 #include "TranslatorInfo.hpp"
14 #include "gmlc/containers/AirLock.hpp"
15 #include "gmlc/containers/MappedPointerVector.hpp"
30 class BasicHandleInfo;
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;
constexpr Time timeZero
Definition: helicsTime.hpp:31
@ destination_target
indicator that the target is a destination target
Definition: flagOperations.hpp:43
Functions related to message translators for the C api.
Functions dealing with callbacks for the shared library.
base helics enumerations for C++ API's, a namespace wrapper for the definitions defined in helics_enu...
Definition: LocalFederateId.hpp:65
TimeRepresentation< count_time< 9 > > Time
Definition: helicsTime.hpp:27
Definition: GlobalFederateId.hpp:72
Definition: ActionMessage.hpp:30
constexpr GlobalBrokerId parent_broker_id
Definition: GlobalFederateId.hpp:64
Definition: TranslatorInfo.hpp:32
constexpr auto versionString
Definition: helicsVersion.hpp:18
bool globalTime
true if using a global time manager parent
Definition: TimeCoordinator.hpp:101
Definition: HandleManager.hpp:25
Definition: core/Core.hpp:41
const char * commandErrorString(int errorCode)
Definition: ActionMessage.cpp:828
const GlobalHandle id
id of the translator
Definition: TranslatorInfo.hpp:44
Functions related to message federates for the C api.
Definition: GlobalFederateId.hpp:27
Definition: TimeCoordinator.hpp:55
the main namespace for the helics co-simulation library User functions will be in the helics namespac...
Definition: AsyncFedCallInfo.hpp:14
@ HELICS_LOG_LEVEL_ERROR
Definition: helics_enums.h:188
bool checkActionFlag(uint16_t flags, FlagIndex flag)
Definition: flagOperations.hpp:138
std::unique_ptr< Message > createMessageFromCommand(const ActionMessage &cmd)
Definition: ActionMessage.cpp:633
@ HELICS_PROPERTY_TIME_OUTPUT_DELAY
Definition: helics_enums.h:273
bool hasActiveTimeDependencies() const
Definition: TranslatorFederate.cpp:478
Definition: GlobalFederateId.hpp:144
@ error_flag
flag indicating an error condition associated with the command
Definition: flagOperations.hpp:17
TranslatorInfo * createTranslator(GlobalBrokerId dest, InterfaceHandle handle, std::string_view key, std::string_view endpointType, std::string_view units)
Definition: TranslatorFederate.cpp:289
FederateStates
Definition: CoreTypes.hpp:21
Definition: TranslatorFederate.hpp:32
const std::string & fedStateString(FederateStates state)
Definition: FederateState.cpp:2035