 |
helics
3.3.0
|
8 #include "../core/LocalFederateId.hpp"
9 #include "../core/helicsTime.hpp"
10 #include "../helics_enums.h"
11 #include "FederateInfo.hpp"
12 #include "helics/helics-config.h"
14 #include "helics_cxx_export.h"
26 namespace libguarded {
27 template<
class T,
class M>
38 class AsyncFedCallInfo;
39 class MessageOperator;
40 class ConnectorFederateManager;
70 PENDING_ITERATIVE_TIME = 8,
78 std::atomic<Modes> currentMode{Modes::STARTUP};
79 char nameSegmentSeparator =
'/';
81 bool strictConfigChecking{
true};
83 bool useJsonSerialization{
false};
85 bool observerMode{
false};
91 Time currentTime = Time::minVal();
93 std::unique_ptr<gmlc::libguarded::shared_guarded<AsyncFedCallInfo, std::mutex>>
95 std::unique_ptr<ConnectorFederateManager> cManager;
97 std::function<void(
Time,
Time,
bool)> timeRequestEntryCallback;
98 std::function<void(
Time,
bool)> timeUpdateCallback;
99 std::function<void(
Modes,
Modes)> modeUpdateCallback;
100 std::function<void(
Time,
bool)> timeRequestReturnCallback;
114 const std::shared_ptr<Core>& core,
126 explicit Federate(
const std::string& configString);
132 Federate(std::string_view fedname,
const std::string& configString);
136 Federate(Federate&& fed) noexcept;
138 Federate(const Federate& fed) = delete;
142 Federate& operator=(Federate&& fed) noexcept;
144 Federate& operator=(const Federate& fed) = delete;
148 void enterInitializingMode();
154 void enterInitializingModeAsync();
159 bool isAsyncOperationCompleted() const;
163 void enterInitializingModeComplete();
186 void finalizeAsync();
188 void finalizeComplete();
192 void processCommunication(std::chrono::milliseconds period = std::chrono::milliseconds(0));
195 virtual
void disconnect();
201 void localError(
int errorcode, std::string_view message);
208 void globalError(
int errorcode, std::string_view message);
213 void localError(
int errorcode);
218 void globalError(
int errorcode);
227 void setSeparator(
char separator) { nameSegmentSeparator = separator; }
231 Time requestTime(
Time nextInternalTimeStep);
252 void requestTimeAsync(
Time nextInternalTimeStep);
264 Time requestTimeComplete();
276 void setTag(std::string_view tag, std::string_view value);
283 const std::string& getTag(std::string_view tag)
const;
289 void setProperty(int32_t option,
double timeValue);
295 void setProperty(int32_t option,
Time timeValue);
301 virtual void setFlagOption(
int flag,
bool flagValue =
true);
306 void setProperty(int32_t option, int32_t optionValue);
311 Time getTimeProperty(int32_t option)
const;
316 virtual bool getFlagOption(
int flag)
const;
320 int getIntegerProperty(int32_t option)
const;
328 void setLoggingCallback(
329 const std::function<
void(
int, std::string_view, std::string_view)>& logFunction);
338 void setTimeRequestEntryCallback(std::function<
void(
Time,
Time,
bool)> callback);
348 void setTimeUpdateCallback(std::function<
void(
Time,
bool)> callback);
358 void setModeUpdateCallback(std::function<
void(Modes, Modes)> callback);
367 void setTimeRequestReturnCallback(std::function<
void(
Time,
bool)> callback);
382 std::string query(std::string_view target,
383 std::string_view queryStr,
398 std::string query(std::string_view queryStr,
412 QueryId queryAsync(std::string_view target,
413 std::string_view queryStr,
425 QueryId queryAsync(std::string_view queryStr,
437 std::string queryComplete(
QueryId queryIndex);
442 bool isQueryCompleted(
QueryId queryIndex)
const;
452 void setQueryCallback(
const std::function<std::string(std::string_view)>& queryFunction);
459 void setGlobal(std::string_view valueName, std::string_view value);
461 void addAlias(std::string_view interfaceName, std::string_view alias);
471 std::string_view target,
472 std::string_view commandStr,
479 std::pair<std::string, std::string> getCommand();
485 std::pair<std::string, std::string> waitCommand();
491 void addDependency(std::string_view fedName);
498 Filter& registerGlobalFilter(std::string_view filterName,
499 std::string_view inputType = std::string_view{},
500 std::string_view outputType = std::string_view{});
508 CloningFilter& registerGlobalCloningFilter(std::string_view filterName,
509 std::string_view inputType = std::string_view{},
510 std::string_view outputType = std::string_view{});
518 Filter& registerFilter(std::string_view filterName,
519 std::string_view inputType = std::string_view{},
520 std::string_view outputType = std::string_view{});
530 CloningFilter& registerCloningFilter(std::string_view filterName,
531 std::string_view inputType = std::string_view{},
532 std::string_view outputType = std::string_view{});
538 return registerGlobalFilter(std::string(), std::string_view{}, std::string_view{});
547 Translator& registerGlobalTranslator(std::int32_t translatorType,
548 std::string_view translatorName,
549 std::string_view endpointType = std::string_view{},
550 std::string_view units = std::string_view{});
559 Translator& registerTranslator(std::int32_t translatorType,
560 std::string_view translatorName,
561 std::string_view endpointType = std::string_view{},
562 std::string_view units = std::string_view{});
570 std::string_view endpointType = std::string_view{},
571 std::string_view units = std::string_view{})
573 return registerGlobalTranslator(0, translatorName, endpointType, units);
583 std::string_view endpointType = std::string_view{},
584 std::string_view units = std::string_view{})
586 return registerTranslator(0, translatorName, endpointType, units);
596 return registerGlobalCloningFilter(std::string(), std::string(), std::string());
602 const Filter& getFilter(std::string_view filterName)
const;
607 const Filter& getFilter(
int index)
const;
612 Filter& getFilter(std::string_view filterName);
617 Filter& getFilter(
int index);
626 void setFilterOperator(
const Filter& filt, std::shared_ptr<FilterOperator> op);
629 int getFilterCount()
const;
636 const Translator& getTranslator(std::string_view translatorName)
const;
642 const Translator& getTranslator(
int index)
const;
648 Translator& getTranslator(std::string_view translatorName);
663 void setTranslatorOperator(
const Translator& trans, std::shared_ptr<TranslatorOperator> op);
666 int getTranslatorCount()
const;
670 virtual void updateTime(
Time newTime,
Time oldTime);
673 virtual void startupToInitializeStateTransition();
676 virtual void initializeToExecuteStateTransition(
IterationResult iterate);
678 virtual void disconnectTransition();
681 virtual std::string localQuery(std::string_view queryStr)
const;
684 std::string localNameGenerator(std::string_view addition)
const;
692 virtual void registerInterfaces(
const std::string& configString);
698 void registerFilterInterfaces(
const std::string& configString);
701 auto getID() const noexcept {
return fedID; }
708 const std::string&
getName()
const {
return mName; }
716 void logMessage(
int level, std::string_view message)
const;
747 void completeOperation();
751 void updateFederateMode(Modes newMode);
753 void updateSimulationTime(
Time newTime,
Time oldTime,
bool iterating);
758 void registerConnectorInterfacesJson(
const std::string& jsonString);
763 void registerConnectorInterfacesToml(
const std::string& tomlString);
776 cr(core), handle(id), mName(actName)
786 bool isValid()
const {
return handle.isValid(); }
787 bool operator<(
const Interface& inp)
const {
return (handle < inp.
handle); }
788 bool operator>(
const Interface& inp)
const {
return (handle > inp.handle); }
789 bool operator==(
const Interface& inp)
const {
return (handle == inp.handle); }
790 bool operator!=(
const Interface& inp)
const {
return (handle != inp.handle); }
796 const std::string& getName()
const;
798 const std::string& getTarget()
const;
800 void addSourceTarget(std::string_view newTarget,
InterfaceType hint = InterfaceType::UNKNOWN);
802 void addDestinationTarget(std::string_view newTarget,
805 void removeTarget(std::string_view targetToRemove);
807 void addAlias(std::string_view alias);
809 const std::string& getInfo()
const;
811 void setInfo(std::string_view info);
817 void setTag(std::string_view tag, std::string_view value);
824 const std::string& getTag(std::string_view tag)
const;
826 virtual void setOption(int32_t option, int32_t value = 1);
829 virtual int32_t getOption(int32_t option)
const;
836 const std::string& getInjectionType()
const;
843 const std::string& getExtractionType()
const;
850 const std::string& getInjectionUnits()
const;
856 const std::string& getExtractionUnits()
const;
859 virtual const std::string& getDisplayName()
const = 0;
862 const std::string& getSourceTargets()
const;
865 const std::string& getDestinationTargets()
const;
869 void disconnectFromCore();
Core * cr
pointer to the core object
Definition: application_api/Federate.hpp:769
constexpr Time timeZero
Definition: helicsTime.hpp:31
void completeOperation()
Definition: Federate.cpp:662
virtual const std::string & getDisplayName() const =0
Definition: Federate.cpp:1670
const char * helicsGetBuildFlags(void)
Definition: helicsExport.cpp:36
Modes
Definition: application_api/Federate.hpp:51
Definition: Filters.hpp:97
constexpr Time initializationTime
Definition: helicsTime.hpp:40
@ HALTED
indicator that the simulation has been halted
void setTimeRequestReturnCallback(std::function< void(Time, bool)> callback)
Definition: Federate.cpp:535
CloningFilter & registerGlobalCloningFilter(std::string_view filterName, std::string_view inputType=std::string_view{}, std::string_view outputType=std::string_view{})
Definition: Federate.cpp:1473
virtual void setInterfaceTag(InterfaceHandle handle, std::string_view tag, std::string_view value)=0
bool isQueryCompleted(QueryId queryIndex) const
Definition: Federate.cpp:1400
void logMessage(int level, std::string_view message) const
Definition: Federate.cpp:1558
const std::string & getName() const
Definition: application_api/Federate.hpp:708
CloningFilter & make_cloning_filter(FilterTypes type, Federate *mFed, std::string_view delivery, std::string_view name)
Definition: Filters.cpp:252
int getFilterCount() const
Definition: Federate.cpp:1519
FederateInfo loadFederateInfo(const std::string &configString)
Definition: FederateInfo.cpp:711
const std::string & getLocalName() const
Definition: application_api/Federate.hpp:793
void disconnectFromCore()
Definition: Federate.cpp:1681
void helicsErrorClear(HelicsError *err)
Definition: helicsExport.cpp:66
BaseType value() const noexcept
Definition: helicsTypes.hpp:75
void logDebugMessage(std::string_view message) const
Definition: application_api/Federate.hpp:742
virtual void closeHandle(InterfaceHandle handle)=0
void registerFilterInterfaces(const std::string &configString)
Definition: Federate.cpp:951
virtual void startupToInitializeStateTransition()
Definition: Federate.cpp:930
virtual int32_t getHandleOption(InterfaceHandle handle, int32_t option) const =0
void setProperty(int32_t option, double timeValue)
Definition: Federate.cpp:475
virtual const std::string & getSourceTargets(InterfaceHandle handle) const =0
bool forceNewCore
indicator that the federate should not use an existing core
Definition: FederateInfo.hpp:37
CloningFilter & registerCloningFilter(std::string_view filterName, std::string_view inputType=std::string_view{}, std::string_view outputType=std::string_view{})
Definition: Federate.cpp:1459
std::shared_ptr< Core > findJoinableCoreOfType(CoreType type)
Definition: CoreFactory.cpp:309
FilterTypes filterTypeFromString(std::string_view filterType) noexcept
Definition: Filters.cpp:32
InterfaceType
Definition: CoreTypes.hpp:99
void finalizeAsync()
Definition: Federate.cpp:607
void addAlias(std::string_view alias)
Definition: Federate.cpp:1605
@ ERROR_RESULT
indicator that an error has occurred
@ HELICS_LOG_LEVEL_WARNING
Definition: helics_enums.h:192
const std::string & getTag(std::string_view tag) const
Definition: Federate.cpp:1620
std::string localNameGenerator(std::string_view addition) const
Definition: Federate.cpp:1441
void enterInitializingModeComplete()
Definition: Federate.cpp:290
Definition: LocalFederateId.hpp:65
const std::string & getTag(std::string_view tag) const
Definition: Federate.cpp:470
std::pair< std::string, std::string > getCommand()
Definition: Federate.cpp:1427
std::atomic< Modes > currentMode
the current state of the simulation
Definition: application_api/Federate.hpp:78
size_t cleanUpBrokers()
Definition: BrokerFactory.cpp:266
void setLoggingCallback(const std::function< void(int, std::string_view, std::string_view)> &logFunction)
Definition: Federate.cpp:500
void enterInitializingModeAsync()
Definition: Federate.cpp:250
@ HELICS_FLAG_STRICT_CONFIG_CHECKING
Definition: helics_enums.h:135
virtual bool getFlagOption(int flag) const
Definition: Federate.cpp:552
TimeRepresentation< count_time< 9 > > Time
Definition: helicsTime.hpp:27
virtual void registerInterfaces(const std::string &configString)
Definition: Federate.cpp:946
virtual void addSourceTarget(InterfaceHandle handle, std::string_view name, InterfaceType hint=InterfaceType::UNKNOWN)=0
void addSourceTarget(std::string_view newTarget, InterfaceType hint=InterfaceType::UNKNOWN)
Definition: Federate.cpp:1590
const std::string & getInjectionType() const
Definition: Federate.cpp:1640
void processCommunication(std::chrono::milliseconds period=std::chrono::milliseconds(0))
Definition: Federate.cpp:648
void logWarningMessage(std::string_view message) const
Definition: application_api/Federate.hpp:728
const Translator & getTranslator(std::string_view translatorName) const
Definition: Federate.cpp:1529
Definition: Filters.hpp:39
void setTag(std::string_view tag, std::string_view value)
Definition: Federate.cpp:465
Time currentTime
the current simulation time
Definition: application_api/Federate.hpp:91
iteration_time requestTimeIterative(Time nextInternalTimeStep, IterationRequest iterate)
Definition: Federate.cpp:743
char nameSegmentSeparator
the separator between automatically prependend names
Definition: application_api/Federate.hpp:79
IterationResult enterExecutingMode(IterationRequest iterate=IterationRequest::NO_ITERATIONS)
Definition: Federate.cpp:318
@ HELICS_FLAG_OBSERVER
Definition: helics_enums.h:101
int getOptionIndex(std::string val)
Definition: FederateInfo.cpp:408
void setTranslatorOperator(const Translator &trans, std::shared_ptr< TranslatorOperator > op)
register an operator for the specified translator
Definition: Federate.cpp:1547
void addAlias(std::string_view interfaceName, std::string_view alias)
Definition: Federate.cpp:1415
virtual void setFlagOption(int flag, bool flagValue=true)
Definition: Federate.cpp:544
virtual void disconnectTransition()
Definition: Federate.cpp:939
Filter & registerFilter()
Definition: application_api/Federate.hpp:536
CoreType coreType
the type of the core
Definition: FederateInfo.hpp:34
virtual void updateTime(Time newTime, Time oldTime)
Definition: Federate.cpp:925
int getOptionValue(std::string val)
Definition: FederateInfo.cpp:427
@ HELICS_LOG_LEVEL_DEBUG
Definition: helics_enums.h:205
Definition: core-exceptions.hpp:67
Time getTimeProperty(int32_t option) const
Definition: Federate.cpp:490
HelicsError helicsErrorInitialize(void)
Definition: helicsExport.cpp:57
Definition: core-exceptions.hpp:48
const std::string & getTarget() const
Definition: Federate.cpp:1585
const std::string & getInjectionUnits() const
Definition: Federate.cpp:1650
Definition: application_api/Federate.hpp:767
Definition: core/Core.hpp:41
void sendCommand(std::string_view target, std::string_view commandStr, HelicsSequencingModes mode=HelicsSequencingModes::HELICS_SEQUENCING_MODE_FAST)
Definition: Federate.cpp:1420
Definition: core-exceptions.hpp:85
Definition: application_api/Translator.hpp:35
virtual int32_t getOption(int32_t option) const
Definition: Federate.cpp:1635
Definition: application_api/CoreApp.hpp:25
void enterExecutingModeAsync(IterationRequest iterate=IterationRequest::NO_ITERATIONS)
Definition: Federate.cpp:378
bool isMember(const toml::value &element, const std::string &key)
Definition: TomlProcessingFunctions.hpp:155
void removeTarget(std::string_view targetToRemove)
Definition: Federate.cpp:1600
Filter & registerFilter(std::string_view filterName, std::string_view inputType=std::string_view{}, std::string_view outputType=std::string_view{})
Definition: Federate.cpp:1452
virtual const std::string & getDestinationTargets(InterfaceHandle handle) const =0
virtual const std::string & getExtractionType(InterfaceHandle handle) const =0
void setTranslatorType(std::int32_t type)
Definition: Translator.cpp:105
Filter & registerGlobalFilter(std::string_view filterName, std::string_view inputType=std::string_view{}, std::string_view outputType=std::string_view{})
Definition: Federate.cpp:1466
bool isValid() const
Definition: application_api/Federate.hpp:786
Definition: FederateInfo.hpp:24
std::shared_ptr< Core > FindOrCreate(CoreType type, std::string_view coreName, std::vector< std::string > args)
Definition: CoreFactory.cpp:219
InterfaceHandle handle
the id as generated by the Federate
Definition: application_api/Federate.hpp:770
IterationRequest
Definition: CoreTypes.hpp:92
bool isAsyncOperationCompleted() const
Definition: Federate.cpp:268
Federate & operator=(Federate &&fed) noexcept
Definition: Federate.cpp:192
bool useJsonSerialization
Definition: application_api/Federate.hpp:83
void addDestinationTarget(std::string_view newTarget, InterfaceType hint=InterfaceType::UNKNOWN)
Definition: Federate.cpp:1595
bool useJsonSerialization
Definition: FederateInfo.hpp:39
auto getID() const noexcept
Definition: application_api/Federate.hpp:701
IterationResult enterExecutingModeComplete()
Definition: Federate.cpp:415
const std::string & getName() const
Definition: Federate.cpp:1580
Time getCurrentTime() const
Definition: application_api/Federate.hpp:706
virtual const std::string & getInjectionType(InterfaceHandle handle) const =0
virtual ~Federate()
Definition: Federate.cpp:210
const std::string & getExtractionType() const
Definition: Federate.cpp:1645
const std::string & getSourceTargets() const
Definition: Federate.cpp:1660
Translator & registerTranslator()
Definition: application_api/Federate.hpp:591
virtual std::string localQuery(std::string_view queryStr) const
Definition: Federate.cpp:1325
IterationResult
Definition: CoreTypes.hpp:83
const char * helicsGetSystemInfo(void)
Definition: helicsExport.cpp:46
void globalError(int errorcode, std::string_view message)
Definition: Federate.cpp:704
const std::string & getExtractionUnits() const
Definition: Federate.cpp:1655
std::string query(std::string_view target, std::string_view queryStr, HelicsSequencingModes mode=HELICS_SEQUENCING_MODE_FAST)
Definition: Federate.cpp:1348
virtual const std::string & getInjectionUnits(InterfaceHandle handle) const =0
QueryId queryAsync(std::string_view target, std::string_view queryStr, HelicsSequencingModes mode=HELICS_SEQUENCING_MODE_FAST)
Definition: Federate.cpp:1359
void setTimeUpdateCallback(std::function< void(Time, bool)> callback)
Definition: Federate.cpp:515
HelicsSequencingModes
Definition: helics_enums.h:395
void cleanupHelicsLibrary()
Definition: Federate.cpp:38
virtual const std::string & getInterfaceInfo(InterfaceHandle handle) const =0
void enterInitializingMode()
Definition: Federate.cpp:224
CloningFilter & registerCloningFilter()
Definition: application_api/Federate.hpp:594
Translator & registerGlobalTranslator(std::string_view translatorName, std::string_view endpointType=std::string_view{}, std::string_view units=std::string_view{})
Definition: application_api/Federate.hpp:569
void setTag(std::string_view tag, std::string_view value)
Definition: Federate.cpp:1625
virtual void addDestinationTarget(InterfaceHandle handle, std::string_view dest, InterfaceType hint=InterfaceType::UNKNOWN)=0
@ HELICS_FLAG_USE_JSON_SERIALIZATION
Definition: helics_enums.h:137
void logInfoMessage(std::string_view message) const
Definition: application_api/Federate.hpp:735
virtual void initializeToExecuteStateTransition(IterationResult iterate)
Definition: Federate.cpp:934
void setGlobal(std::string_view valueName, std::string_view value)
Definition: Federate.cpp:1410
void setModeUpdateCallback(std::function< void(Modes, Modes)> callback)
Definition: Federate.cpp:524
std::pair< std::string, std::string > waitCommand()
Definition: Federate.cpp:1432
bool operator==(const SmallBuffer &sb1, const SmallBuffer &sb2)
Definition: SmallBuffer.hpp:390
InterfaceHandle getHandle() const
Definition: application_api/Federate.hpp:782
const std::string & getInfo() const
Definition: Federate.cpp:1610
std::string coreName
the name of the core
Definition: FederateInfo.hpp:47
virtual void addAlias(std::string_view interfaceKey, std::string_view alias)=0
const std::string & getDestinationTargets() const
Definition: Federate.cpp:1665
bool operator!=(const SmallBuffer &sb1, const SmallBuffer &sb2)
Definition: SmallBuffer.hpp:396
the main namespace for the helics co-simulation library User functions will be in the helics namespac...
Definition: AsyncFedCallInfo.hpp:14
virtual void setInterfaceInfo(InterfaceHandle handle, std::string_view info)=0
virtual const std::string & getHandleName(InterfaceHandle handle) const =0
virtual void setHandleOption(InterfaceHandle handle, int32_t option, int32_t option_value)=0
void requestTimeIterativeAsync(Time nextInternalTimeStep, IterationRequest iterate)
Definition: Federate.cpp:800
char separator
separator for global name of localFederates
Definition: FederateInfo.hpp:27
size_t cleanUpCores()
Definition: CoreFactory.cpp:349
Definition: helicsTime.hpp:49
@ HELICS_LOG_LEVEL_SUMMARY
Definition: helics_enums.h:194
@ HELICS_SEQUENCING_MODE_FAST
Definition: helics_enums.h:397
std::shared_ptr< Core > getEmptyCore()
Definition: CoreFactory.cpp:119
Time requestTimeAdvance(Time timeDelta)
Definition: application_api/Federate.hpp:240
void helicsAbort(int errorCode, const char *errorString)
Definition: helicsExport.cpp:983
Definition: core-exceptions.hpp:29
std::string mName
the name or key of the interface
Definition: application_api/Federate.hpp:771
void localError(int errorcode, std::string_view message)
Definition: Federate.cpp:697
Translator & registerTranslator(std::string_view translatorName, std::string_view endpointType=std::string_view{}, std::string_view units=std::string_view{})
Definition: application_api/Federate.hpp:582
iteration_time requestTimeIterativeComplete()
Definition: Federate.cpp:838
@ HELICS_LOG_LEVEL_ERROR
Definition: helics_enums.h:188
@ EXECUTING
the federation has entered execution state and it now advancing in time
@ ITERATING
indicator that the iterations need to continue
Modes getCurrentMode() const noexcept
Definition: application_api/Federate.hpp:703
Definition: LocalFederateId.hpp:22
Filter & make_filter(FilterTypes type, Federate *mFed, std::string_view name)
Definition: Filters.cpp:202
std::string generateFullCoreInitString(const FederateInfo &fi)
Definition: FederateInfo.cpp:859
void finalize()
Definition: Federate.cpp:559
@ FINISHED
the federation has finished its execution
void setInfo(std::string_view info)
Definition: Federate.cpp:1615
const Filter & getFilter(std::string_view filterName) const
Definition: Federate.cpp:1501
Definition: application_api/Federate.hpp:48
const std::shared_ptr< Core > & getCorePointer()
Definition: application_api/Federate.hpp:710
virtual const std::string & getExtractionUnits(InterfaceHandle handle) const =0
int helicsGetDataType(const char *val)
Definition: FederateExport.cpp:361
Time requestNextStep()
Definition: application_api/Federate.hpp:235
void setFilterOperator(const Filter &filt, std::shared_ptr< FilterOperator > op)
register a operator for the specified filter
Definition: Federate.cpp:1524
Definition: application_api/Federate.hpp:28
void finalizeComplete()
Definition: Federate.cpp:637
Time requestTime(Time nextInternalTimeStep)
Definition: Federate.cpp:711
bool loadCores()
Definition: loadCores.cpp:149
bool strictConfigChecking
Definition: application_api/Federate.hpp:81
virtual const std::string & getInterfaceTag(InterfaceHandle handle, std::string_view tag) const =0
bool observerMode
Definition: application_api/Federate.hpp:85
void logErrorMessage(std::string_view message) const
Definition: application_api/Federate.hpp:721
void setQueryCallback(const std::function< std::string(std::string_view)> &queryFunction)
Definition: Federate.cpp:1395
@ NO_ITERATIONS
indicator that the iterations have completed
virtual void setOption(int32_t option, int32_t value=1)
Definition: Federate.cpp:1630
Core * getEmptyCorePtr()
Definition: CoreFactory.cpp:124
void close()
Definition: Federate.cpp:1675
std::shared_ptr< Core > coreObject
reference to the core simulation API
Definition: application_api/Federate.hpp:90
void addDependency(std::string_view fedName)
Definition: Federate.cpp:1437
virtual void removeTarget(InterfaceHandle handle, std::string_view targetToRemove)=0
int getIntegerProperty(int32_t option) const
Definition: Federate.cpp:495
Federate() noexcept
Definition: Federate.cpp:169
std::string queryComplete(QueryId queryIndex)
Definition: Federate.cpp:1384
Time requestTimeComplete()
Definition: Federate.cpp:819
Definition: core-exceptions.hpp:18
int getTranslatorCount() const
Definition: Federate.cpp:1553
Translator & registerGlobalTranslator(std::int32_t translatorType, std::string_view translatorName, std::string_view endpointType=std::string_view{}, std::string_view units=std::string_view{})
Definition: Federate.cpp:1480
void requestTimeAsync(Time nextInternalTimeStep)
Definition: Federate.cpp:783
std::string defName
a default name to use for a federate
Definition: FederateInfo.hpp:46
void setTimeRequestEntryCallback(std::function< void(Time, Time, bool)> callback)
Definition: Federate.cpp:506
virtual void disconnect()
Definition: Federate.cpp:653
FilterTypes
Definition: Filters.hpp:21
std::string generateJsonErrorResponse(JsonErrorCodes code, const std::string &message)
Definition: JsonGeneration.hpp:36