7 #ifndef HELICS_CPP98_FEDERATE_HPP_
8 #define HELICS_CPP98_FEDERATE_HPP_
12 #include "Translator.hpp"
14 #include "helics/helics.h"
15 #include "helicsExceptions.hpp"
21 #if defined(HELICS_HAS_FUNCTIONAL) && HELICS_HAS_FUNCTIONAL != 0
22 # include <functional>
59 #ifdef HELICS_HAS_RVALUE_REFS
64 fedInfo.fi = HELICS_NULL_POINTER;
71 fedInfo.fi = HELICS_NULL_POINTER;
77 void loadFromArgs(
const std::string& argString)
137 HELICS_NULL_POINTER);
156 HELICS_NULL_POINTER);
166 #if defined(HELICS_HAS_FUNCTIONAL) && HELICS_HAS_FUNCTIONAL != 0
169 inline void helicCppQueryCallbackExecutor(
const char* query,
174 auto cback =
reinterpret_cast<std::function<std::string(
const std::string&)
>*>(userData);
175 std::string val(query, stringSize);
176 std::string result = (*cback)(val);
184 auto cback =
reinterpret_cast<std::function<
void(
HelicsTime,
bool)
>*>(userData);
196 (*cback)(newState, oldState);
200 inline void helicCppTimeRequestEntryCallbackExecutor(
HelicsTime currentTime,
206 (*cback)(currentTime, requestTime, iterating ==
HELICS_TRUE);
209 inline void helicCppTimeRequestReturnCallbackExecutor(
HelicsTime newTime,
213 auto cback =
reinterpret_cast<std::function<
void(
HelicsTime,
bool)
>*>(userData);
242 #ifdef HELICS_HAS_RVALUE_REFS
248 fedObj.fed = HELICS_NULL_POINTER;
255 fedObj.fed = HELICS_NULL_POINTER;
262 if (
fed != HELICS_NULL_POINTER) {
265 #if defined(HELICS_HAS_FUNCTIONAL) && HELICS_HAS_FUNCTIONAL != 0
550 std::string
query(
const std::string& target,
551 const std::string& queryStr,
577 std::string
query(
const std::string& queryStr,
597 void sendCommand(
const std::string& target,
const std::string& cmd)
629 void setQueryCallback(
637 void setTimeRequestEntryCallback(
void (*timeRequestEntry)(
HelicsTime currentTime,
647 void setTimeUpdateCallback(
void (*timeUpdate)(
HelicsTime time,
665 void setTimeRequestReturnCallback(
void (*timeRequestReturn)(
HelicsTime newTime,
676 #if defined(HELICS_HAS_FUNCTIONAL) && HELICS_HAS_FUNCTIONAL != 0
677 void setQueryCallback(std::function<std::string(
const std::string&)> callback)
680 checkCallbackAllocation();
681 callbackBuffers[queryCallbackLocation] =
682 new std::function<std::string(const std::string&)>(std::move(callback));
684 details::helicCppQueryCallbackExecutor,
685 callbackBuffers[queryCallbackLocation],
689 void setTimeRequestEntryCallback(
694 checkCallbackAllocation();
695 callbackBuffers[timeRequestEntryCallbackLocation] =
696 new std::function<void(HelicsTime, HelicsTime, bool)>(std::move(callback));
698 details::helicCppTimeRequestEntryCallbackExecutor,
699 callbackBuffers[timeRequestEntryCallbackLocation],
703 void setTimeUpdateCallback(std::function<
void(
HelicsTime time,
bool iterating)> callback)
706 checkCallbackAllocation();
707 callbackBuffers[timeUpdateCallbackLocation] =
708 new std::function<void(HelicsTime time, bool iterating)>(std::move(callback));
710 details::helicCppTimeUpdateCallbackExecutor,
711 callbackBuffers[timeUpdateCallbackLocation],
715 void setStateChangeCallback(
719 checkCallbackAllocation();
720 callbackBuffers[stateChangeCallbackLocation] =
721 new std::function<void(HelicsFederateState, HelicsFederateState)>(std::move(callback));
723 details::helicCppStateChangeCallbackExecutor,
724 callbackBuffers[stateChangeCallbackLocation],
728 void setTimeRequestReturnCallback(
729 std::function<
void(
HelicsTime newTime,
bool iterating)> callback)
732 checkCallbackAllocation();
733 callbackBuffers[timeRequestReturnCallbackLocation] =
734 new std::function<void(HelicsTime, bool)>(std::move(callback));
737 details::helicCppTimeRequestReturnCallbackExecutor,
738 callbackBuffers[timeRequestReturnCallbackLocation],
769 const std::string& filterName = std::string())
784 deliveryEndpoint.c_str(),
809 void setGlobal(
const std::string& valueName,
const std::string& value)
818 void addAlias(
const std::string& interfaceName,
const std::string& alias)
828 void setTag(
const std::string& tag,
const std::string& value)
838 const char*
getTag(
const std::string& tag)
const
856 void localError(
int errorCode,
const std::string& errorString)
903 #if defined(HELICS_HAS_FUNCTIONAL) && HELICS_HAS_FUNCTIONAL != 0
905 static constexpr
int numberOfCallbacks = 5;
906 static constexpr
int timeRequestEntryCallbackLocation = 0;
907 static constexpr
int timeUpdateCallbackLocation = 1;
908 static constexpr
int stateChangeCallbackLocation = 2;
909 static constexpr
int queryCallbackLocation = 3;
910 static constexpr
int timeRequestReturnCallbackLocation = 4;
911 void** callbackBuffers{
nullptr};
913 void checkCallbackAllocation()
915 if (callbackBuffers ==
nullptr) {
916 callbackBuffers =
new void*[numberOfCallbacks];
917 for (
int ii = 0; ii < numberOfCallbacks; ++ii) {
918 callbackBuffers[ii] =
nullptr;
924 if (callbackBuffers ==
nullptr) {
927 if (callbackBuffers[queryCallbackLocation] !=
nullptr) {
928 auto cback =
reinterpret_cast<std::function<std::string(
const std::string&)
>*>(
929 callbackBuffers[queryCallbackLocation]);
932 if (callbackBuffers[timeRequestEntryCallbackLocation] !=
nullptr) {
934 callbackBuffers[timeRequestEntryCallbackLocation]);
937 if (callbackBuffers[timeUpdateCallbackLocation] !=
nullptr) {
938 auto cback =
reinterpret_cast<std::function<
void(
HelicsTime,
bool)
>*>(
939 callbackBuffers[timeUpdateCallbackLocation]);
942 if (callbackBuffers[stateChangeCallbackLocation] !=
nullptr) {
945 callbackBuffers[stateChangeCallbackLocation]);
948 if (callbackBuffers[timeRequestReturnCallbackLocation] !=
nullptr) {
949 auto cback =
reinterpret_cast<std::function<
void(
HelicsTime,
bool)
>*>(
950 callbackBuffers[timeRequestReturnCallbackLocation]);
953 delete[] callbackBuffers;
958 inline void protect(
const std::string& name)
962 inline void unProtect(
const std::string& name)
967 inline bool isProtected(
const std::string& name)
HelicsFilter helicsFederateRegisterCloningFilter(HelicsFederate fed, const char *name, HelicsError *err)
Definition: MessageFiltersExport.cpp:166
int helicsFederateGetFilterCount(HelicsFederate fed)
Definition: MessageFiltersExport.cpp:254
HelicsFilter helicsFederateRegisterGlobalCloningFilter(HelicsFederate fed, const char *name, HelicsError *err)
Definition: MessageFiltersExport.cpp:186
HelicsFilter helicsFederateGetFilterByIndex(HelicsFederate fed, int index, HelicsError *err)
Definition: MessageFiltersExport.cpp:263
HelicsFilter helicsFederateGetFilter(HelicsFederate fed, const char *name, HelicsError *err)
Definition: MessageFiltersExport.cpp:230
HelicsFilter helicsFederateRegisterGlobalFilter(HelicsFederate fed, HelicsFilterTypes type, const char *name, HelicsError *err)
Definition: MessageFiltersExport.cpp:123
HelicsFilter helicsFederateRegisterFilter(HelicsFederate fed, HelicsFilterTypes type, const char *name, HelicsError *err)
Definition: MessageFiltersExport.cpp:102
void * HelicsFederateInfo
Definition: api-data.h:71
void * HelicsCore
Definition: api-data.h:54
double HelicsTime
Definition: api-data.h:100
HelicsIterationResult
Definition: api-data.h:131
@ HELICS_ITERATION_RESULT_NEXT_STEP
Definition: api-data.h:132
int HelicsBool
Definition: api-data.h:112
void * HelicsQuery
Definition: api-data.h:77
HelicsFederateState
Definition: api-data.h:141
HelicsIterationRequest
Definition: api-data.h:120
@ HELICS_ITERATION_REQUEST_NO_ITERATION
Definition: api-data.h:121
void * HelicsFederate
Definition: api-data.h:65
const HelicsBool HELICS_FALSE
Definition: api-data.h:115
void * HelicsQueryBuffer
Definition: api-data.h:88
const HelicsBool HELICS_TRUE
Definition: api-data.h:114
Definition: Filter.hpp:112
Definition: cpp98/Federate.hpp:28
FederateInfo(int coretype)
Definition: cpp98/Federate.hpp:41
void setCoreType(int coretype)
Definition: cpp98/Federate.hpp:110
void setProperty(int integerProperty, int propertyValue)
Definition: cpp98/Federate.hpp:151
void setProperty(int timeProperty, HelicsTime timeValue)
Definition: cpp98/Federate.hpp:143
~FederateInfo()
Definition: cpp98/Federate.hpp:76
void setFlagOption(int flag, bool value=true)
Definition: cpp98/Federate.hpp:132
void setBrokerInit(const std::string &brokerInit)
Set a string for the broker initialization in command line argument format.
Definition: cpp98/Federate.hpp:96
void setBroker(const std::string &broker)
Definition: cpp98/Federate.hpp:117
FederateInfo(const std::string &coretype)
Definition: cpp98/Federate.hpp:34
void setBrokerKey(const std::string &brokerkey)
Definition: cpp98/Federate.hpp:124
void setCoreType(const std::string &coretype)
Definition: cpp98/Federate.hpp:103
FederateInfo()
Definition: cpp98/Federate.hpp:31
void setSeparator(char sep)
Set the separator character.
Definition: cpp98/Federate.hpp:88
HelicsFederateInfo getInfo()
Definition: cpp98/Federate.hpp:160
FederateInfo & operator=(const FederateInfo &fedInfo)
Definition: cpp98/Federate.hpp:52
void setCoreInit(const std::string &coreInit)
Definition: cpp98/Federate.hpp:91
FederateInfo(const FederateInfo &fedInfo)
Definition: cpp98/Federate.hpp:47
void setCoreName(const std::string &corename)
Definition: cpp98/Federate.hpp:83
Definition: cpp98/Federate.hpp:226
void enterInitializingMode()
Definition: cpp98/Federate.hpp:356
HelicsTime getCurrentTime()
Definition: cpp98/Federate.hpp:456
Filter registerGlobalFilter(HelicsFilterTypes type, const std::string &filterName=std::string())
Definition: cpp98/Federate.hpp:768
void unProtect()
Definition: cpp98/Federate.hpp:535
const char * getName() const
Definition: cpp98/Federate.hpp:529
std::string query(const std::string &queryStr, HelicsSequencingModes mode=HELICS_SEQUENCING_MODE_FAST) const
Definition: cpp98/Federate.hpp:577
HelicsFederate fed
underlying HelicsFederate object
Definition: cpp98/Federate.hpp:901
HelicsTime getTimeProperty(int tProperty) const
Definition: cpp98/Federate.hpp:311
HelicsIterationResult enterExecutingModeComplete()
Definition: cpp98/Federate.hpp:436
const char * getCommand()
Definition: cpp98/Federate.hpp:608
void setProperty(int intProperty, int value)
Definition: cpp98/Federate.hpp:296
void protect()
Definition: cpp98/Federate.hpp:532
void enterInitializingModeComplete()
Definition: cpp98/Federate.hpp:369
void enterExecutingModeAsync(HelicsIterationRequest iterate=HELICS_ITERATION_REQUEST_NO_ITERATION)
Definition: cpp98/Federate.hpp:420
HelicsTime requestTimeComplete()
Definition: cpp98/Federate.hpp:508
void logWarningMessage(const std::string &message)
Definition: cpp98/Federate.hpp:876
void registerInterfaces(const std::string &configString)
Definition: cpp98/Federate.hpp:335
void localError(int errorCode, const std::string &errorString)
Definition: cpp98/Federate.hpp:856
void addAlias(const std::string &interfaceName, const std::string &alias)
Definition: cpp98/Federate.hpp:818
HelicsFederate getObject() const
Definition: cpp98/Federate.hpp:898
void enterInitializingModeIterativeAsync()
Definition: cpp98/Federate.hpp:387
HelicsIterationTime requestTimeIterativeComplete()
Definition: cpp98/Federate.hpp:516
HelicsTime requestTimeAdvance(HelicsTime timeDelta)
Definition: cpp98/Federate.hpp:471
HelicsTime requestNextStep()
Definition: cpp98/Federate.hpp:466
CloningFilter registerCloningFilter(const std::string &deliveryEndpoint)
Definition: cpp98/Federate.hpp:758
Filter getFilter(int index)
Definition: cpp98/Federate.hpp:799
bool getFlagOption(int flag) const
Definition: cpp98/Federate.hpp:304
void requestTimeAsync(HelicsTime time)
Definition: cpp98/Federate.hpp:490
HelicsFederateState getCurrentMode() const
Definition: cpp98/Federate.hpp:340
void enterInitializingModeIterativeComplete()
Definition: cpp98/Federate.hpp:395
Federate(const Federate &fedObj)
Copy constructor.
Definition: cpp98/Federate.hpp:231
bool isAsyncOperationCompleted() const
Definition: cpp98/Federate.hpp:348
Filter registerFilter(HelicsFilterTypes type, const std::string &filterName=std::string())
Definition: cpp98/Federate.hpp:747
void setProperty(int tProperty, HelicsTime timeValue)
Definition: cpp98/Federate.hpp:288
void finalize()
Definition: cpp98/Federate.hpp:449
const char * getCommandSource()
Definition: cpp98/Federate.hpp:624
int getIntegerProperty(int intProperty) const
Definition: cpp98/Federate.hpp:318
void setGlobal(const std::string &valueName, const std::string &value)
Definition: cpp98/Federate.hpp:809
int getFilterCount() const
Definition: cpp98/Federate.hpp:788
void setFlagOption(int flag, bool flagValue=true)
Definition: cpp98/Federate.hpp:277
HelicsFederate baseObject() const
Definition: cpp98/Federate.hpp:272
const char * getTag(const std::string &tag) const
Definition: cpp98/Federate.hpp:838
void setTag(const std::string &tag, const std::string &value)
Definition: cpp98/Federate.hpp:828
void logErrorMessage(const std::string &message)
Definition: cpp98/Federate.hpp:871
void logInfoMessage(const std::string &message)
Definition: cpp98/Federate.hpp:881
CloningFilter registerGlobalCloningFilter(const std::string &deliveryEndpoint)
Definition: cpp98/Federate.hpp:781
void requestTimeIterativeAsync(HelicsTime time, HelicsIterationRequest iterate)
Definition: cpp98/Federate.hpp:501
void logDebugMessage(const std::string &message)
Definition: cpp98/Federate.hpp:886
void logMessage(int level, const std::string &message)
Definition: cpp98/Federate.hpp:891
void addDependency(const std::string &fedName)
Definition: cpp98/Federate.hpp:847
bool exec_async_iterate
indicator that the federate is in an async operation
Definition: cpp98/Federate.hpp:902
void sendCommand(const std::string &target, const std::string &cmd)
Definition: cpp98/Federate.hpp:597
void enterInitializingModeAsync()
Definition: cpp98/Federate.hpp:361
void enterInitializingModeIterative()
Definition: cpp98/Federate.hpp:379
Federate & operator=(const Federate &fedObj)
Copy assignment operator.
Definition: cpp98/Federate.hpp:236
virtual ~Federate()
Definition: cpp98/Federate.hpp:260
Filter getFilter(const std::string &filterName)
Definition: cpp98/Federate.hpp:792
std::string query(const std::string &target, const std::string &queryStr, HelicsSequencingModes mode=HELICS_SEQUENCING_MODE_FAST) const
Definition: cpp98/Federate.hpp:550
void globalError(int errorCode, const std::string &errorString)
Definition: cpp98/Federate.hpp:865
void setSeparator(char sep)
Definition: cpp98/Federate.hpp:329
HelicsIterationTime requestTimeIterative(HelicsTime time, HelicsIterationRequest iterate)
Definition: cpp98/Federate.hpp:479
HelicsTime requestTime(HelicsTime time)
Definition: cpp98/Federate.hpp:460
void finalizeAsync()
Definition: cpp98/Federate.hpp:452
void finalizeComplete()
Definition: cpp98/Federate.hpp:454
const char * waitCommand()
Definition: cpp98/Federate.hpp:616
HelicsIterationResult enterExecutingMode(HelicsIterationRequest iterate=HELICS_ITERATION_REQUEST_NO_ITERATION)
Definition: cpp98/Federate.hpp:405
Federate() HELICS_NOTHROW
Default constructor.
Definition: cpp98/Federate.hpp:229
HelicsCore getCore()
Definition: cpp98/Federate.hpp:896
Definition: Filter.hpp:18
Definition: helicsExceptions.hpp:38
void helicsFederateSetTimeRequestReturnCallback(HelicsFederate fed, void(*requestTimeReturn)(HelicsTime newTime, HelicsBool iterating, void *userdata), void *userdata, HelicsError *err)
Definition: FederateExport.cpp:1404
void helicsFederateSetTimeRequestEntryCallback(HelicsFederate fed, void(*requestTime)(HelicsTime currentTime, HelicsTime requestTime, HelicsBool iterating, void *userdata), void *userdata, HelicsError *err)
Definition: FederateExport.cpp:1264
void helicsFederateSetTimeUpdateCallback(HelicsFederate fed, void(*timeUpdate)(HelicsTime newTime, HelicsBool iterating, void *userdata), void *userdata, HelicsError *err)
Definition: helicsCallbacks.cpp:125
void helicsFederateSetStateChangeCallback(HelicsFederate fed, void(*stateChange)(HelicsFederateState newState, HelicsFederateState oldState, void *userdata), void *userdata, HelicsError *err)
Definition: FederateExport.cpp:1290
void helicsFederateSetQueryCallback(HelicsFederate fed, void(*queryAnswer)(const char *query, int querySize, HelicsQueryBuffer buffer, void *userdata), void *userdata, HelicsError *err)
Definition: helicsCallbacks.cpp:98
void helicsQueryBufferFill(HelicsQueryBuffer buffer, const char *queryResult, int strSize, HelicsError *err)
Definition: helicsCallbacks.cpp:149
void helicsFederateAddAlias(HelicsFederate fed, const char *interfaceName, const char *alias, HelicsError *err)
Definition: FederateExport.cpp:1652
void helicsFederateEnterInitializingModeIterative(HelicsFederate fed, HelicsError *err)
Definition: FederateExport.cpp:924
HelicsTime helicsFederateRequestTimeIterativeComplete(HelicsFederate fed, HelicsIterationResult *outIterate, HelicsError *err)
Definition: FederateExport.cpp:1209
HelicsBool helicsFederateIsProtected(const char *fedName, HelicsError *err)
Definition: FederateExport.cpp:714
void helicsFederateSetGlobal(HelicsFederate fed, const char *valueName, const char *value, HelicsError *err)
Definition: FederateExport.cpp:1629
void helicsFederateEnterInitializingModeIterativeAsync(HelicsFederate fed, HelicsError *err)
Definition: FederateExport.cpp:938
HelicsIterationResult helicsFederateEnterExecutingModeIterativeComplete(HelicsFederate fed, HelicsError *err)
Definition: FederateExport.cpp:1072
const char * helicsFederateWaitCommand(HelicsFederate fed, HelicsError *err)
Definition: FederateExport.cpp:1829
const char * helicsFederateGetCommand(HelicsFederate fed, HelicsError *err)
Definition: FederateExport.cpp:1804
HelicsCore helicsFederateGetCore(HelicsFederate fed, HelicsError *err)
Definition: FederateExport.cpp:737
void helicsFederateLogInfoMessage(HelicsFederate fed, const char *logmessage, HelicsError *err)
Definition: FederateExport.cpp:1776
void helicsFederateRequestTimeIterativeAsync(HelicsFederate fed, HelicsTime requestTime, HelicsIterationRequest iterate, HelicsError *err)
Definition: FederateExport.cpp:1195
const char * helicsFederateGetTag(HelicsFederate fed, const char *tagName, HelicsError *err)
Definition: FederateExport.cpp:1697
void helicsFederateEnterExecutingModeComplete(HelicsFederate fed, HelicsError *err)
Definition: FederateExport.cpp:1059
void helicsFederateSetIntegerProperty(HelicsFederate fed, int intProperty, int propertyVal, HelicsError *err)
Definition: FederateExport.cpp:1539
void helicsFederateSetTag(HelicsFederate fed, const char *tagName, const char *value, HelicsError *err)
Definition: FederateExport.cpp:1677
void helicsFederateEnterInitializingModeIterativeComplete(HelicsFederate fed, HelicsError *err)
Definition: FederateExport.cpp:952
void helicsFederateLogWarningMessage(HelicsFederate fed, const char *logmessage, HelicsError *err)
Definition: FederateExport.cpp:1771
void helicsFederateInfoLoadFromString(HelicsFederateInfo fedInfo, const char *args, HelicsError *err)
Definition: FederateExport.cpp:235
HelicsFederate helicsFederateClone(HelicsFederate fed, HelicsError *err)
Definition: FederateExport.cpp:641
void helicsFederateInfoSetSeparator(HelicsFederateInfo fedInfo, char separator, HelicsError *err)
Definition: FederateExport.cpp:439
void helicsFederateAddDependency(HelicsFederate fed, const char *fedName, HelicsError *err)
Definition: FederateExport.cpp:1720
HelicsTime helicsFederateGetCurrentTime(HelicsFederate fed, HelicsError *err)
Definition: FederateExport.cpp:1618
void helicsFederateFinalize(HelicsFederate fed, HelicsError *err)
Definition: FederateExport.cpp:803
HelicsFederateInfo helicsCreateFederateInfo(void)
Definition: FederateExport.cpp:169
HelicsTime helicsFederateRequestTimeAdvance(HelicsFederate fed, HelicsTime timeDelta, HelicsError *err)
Definition: FederateExport.cpp:1104
void helicsFederateInfoFree(HelicsFederateInfo fedInfo)
Definition: FederateExport.cpp:205
void helicsFederateSendCommand(HelicsFederate fed, const char *target, const char *command, HelicsError *err)
Definition: FederateExport.cpp:1795
void helicsFederateSetTimeProperty(HelicsFederate fed, int timeProperty, HelicsTime time, HelicsError *err)
Definition: FederateExport.cpp:1509
HelicsTime helicsFederateRequestTimeComplete(HelicsFederate fed, HelicsError *err)
Definition: FederateExport.cpp:1179
void helicsFederateInfoSetFlagOption(HelicsFederateInfo fedInfo, int flag, HelicsBool value, HelicsError *err)
Definition: FederateExport.cpp:407
void helicsFederateEnterInitializingModeComplete(HelicsFederate fed, HelicsError *err)
Definition: FederateExport.cpp:910
void helicsQuerySetOrdering(HelicsQuery query, int32_t mode, HelicsError *err)
Definition: helicsExport.cpp:1297
void helicsFederateLogErrorMessage(HelicsFederate fed, const char *logmessage, HelicsError *err)
Definition: FederateExport.cpp:1766
void helicsFederateEnterExecutingMode(HelicsFederate fed, HelicsError *err)
Definition: FederateExport.cpp:966
HelicsTime helicsFederateRequestNextStep(HelicsFederate fed, HelicsError *err)
Definition: FederateExport.cpp:1120
void helicsFederateUnProtect(const char *fedName, HelicsError *err)
Definition: FederateExport.cpp:699
HelicsTime helicsFederateRequestTime(HelicsFederate fed, HelicsTime requestTime, HelicsError *err)
Definition: FederateExport.cpp:1088
void helicsFederateInfoSetBrokerInitString(HelicsFederateInfo fedInfo, const char *brokerInit, HelicsError *err)
Definition: FederateExport.cpp:277
const char * helicsFederateGetCommandSource(HelicsFederate fed, HelicsError *err)
Definition: FederateExport.cpp:1819
void helicsFederateFinalizeAsync(HelicsFederate fed, HelicsError *err)
Definition: FederateExport.cpp:808
void helicsQueryFree(HelicsQuery query)
Definition: helicsExport.cpp:1306
void helicsFederateLocalError(HelicsFederate fed, int errorCode, const char *errorString, HelicsError *err)
Definition: FederateExport.cpp:787
int helicsFederateGetIntegerProperty(HelicsFederate fed, int intProperty, HelicsError *err)
Definition: FederateExport.cpp:1592
void helicsFederateGlobalError(HelicsFederate fed, int errorCode, const char *errorString, HelicsError *err)
Definition: FederateExport.cpp:771
void helicsFederateRegisterInterfaces(HelicsFederate fed, const char *file, HelicsError *err)
Definition: FederateExport.cpp:753
HelicsBool helicsFederateGetFlagOption(HelicsFederate fed, int flag, HelicsError *err)
Definition: FederateExport.cpp:1574
HelicsTime helicsFederateRequestTimeIterative(HelicsFederate fed, HelicsTime requestTime, HelicsIterationRequest iterate, HelicsIterationResult *outIteration, HelicsError *err)
Definition: FederateExport.cpp:1136
void helicsFederateLogDebugMessage(HelicsFederate fed, const char *logmessage, HelicsError *err)
Definition: FederateExport.cpp:1781
void helicsFederateFree(HelicsFederate fed)
Definition: helicsExport.cpp:1052
HelicsQuery helicsCreateQuery(const char *target, const char *query)
Definition: helicsExport.cpp:1120
void helicsFederateLogLevelMessage(HelicsFederate fed, int loglevel, const char *logmessage, HelicsError *err)
Definition: FederateExport.cpp:1786
HelicsIterationResult helicsFederateEnterExecutingModeIterative(HelicsFederate fed, HelicsIterationRequest iterate, HelicsError *err)
Definition: FederateExport.cpp:1015
HelicsTime helicsFederateGetTimeProperty(HelicsFederate fed, int timeProperty, HelicsError *err)
Definition: FederateExport.cpp:1555
void helicsFederateInfoSetBroker(HelicsFederateInfo fedInfo, const char *broker, HelicsError *err)
Definition: FederateExport.cpp:321
HelicsBool helicsFederateIsAsyncOperationCompleted(HelicsFederate fed, HelicsError *err)
Definition: FederateExport.cpp:895
void helicsFederateInfoSetCoreInitString(HelicsFederateInfo fedInfo, const char *coreInit, HelicsError *err)
Definition: FederateExport.cpp:263
void helicsFederateEnterExecutingModeIterativeAsync(HelicsFederate fed, HelicsIterationRequest iterate, HelicsError *err)
Definition: FederateExport.cpp:1045
void helicsFederateSetFlagOption(HelicsFederate fed, int flag, HelicsBool flagValue, HelicsError *err)
Definition: FederateExport.cpp:1523
const char * helicsFederateGetName(HelicsFederate fed)
Definition: FederateExport.cpp:1499
void helicsFederateInfoSetCoreType(HelicsFederateInfo fedInfo, int coretype, HelicsError *err)
Definition: FederateExport.cpp:291
void helicsFederateInfoSetIntegerProperty(HelicsFederateInfo fedInfo, int intProperty, int propertyValue, HelicsError *err)
Definition: FederateExport.cpp:448
const char * helicsQueryExecute(HelicsQuery query, HelicsFederate fed, HelicsError *err)
Definition: helicsExport.cpp:1133
void helicsFederateProtect(const char *fedName, HelicsError *err)
Definition: FederateExport.cpp:688
void helicsFederateFinalizeComplete(HelicsFederate fed, HelicsError *err)
Definition: FederateExport.cpp:813
void helicsFederateRequestTimeAsync(HelicsFederate fed, HelicsTime requestTime, HelicsError *err)
Definition: FederateExport.cpp:1165
void helicsFederateEnterInitializingModeAsync(HelicsFederate fed, HelicsError *err)
Definition: FederateExport.cpp:881
void helicsFederateInfoSetCoreName(HelicsFederateInfo fedInfo, const char *corename, HelicsError *err)
Definition: FederateExport.cpp:249
void helicsFederateInfoSetTimeProperty(HelicsFederateInfo fedInfo, int timeProperty, HelicsTime propertyValue, HelicsError *err)
Definition: FederateExport.cpp:430
void helicsFederateInfoSetBrokerKey(HelicsFederateInfo fedInfo, const char *brokerkey, HelicsError *err)
Definition: FederateExport.cpp:335
void helicsFederateEnterInitializingMode(HelicsFederate fed, HelicsError *err)
Definition: FederateExport.cpp:867
HelicsFederateState helicsFederateGetState(HelicsFederate fed, HelicsError *err)
Definition: FederateExport.cpp:1253
void helicsFederateSetSeparator(HelicsFederate fed, char separator, HelicsError *err)
Definition: FederateExport.cpp:1609
void helicsFederateInfoSetCoreTypeFromString(HelicsFederateInfo fedInfo, const char *coretype, HelicsError *err)
Definition: FederateExport.cpp:300
void helicsFederateEnterExecutingModeAsync(HelicsFederate fed, HelicsError *err)
Definition: FederateExport.cpp:1031
void helicsFederateProcessCommunications(HelicsFederate fed, HelicsTime period, HelicsError *err)
Definition: FederateExport.cpp:1234
HelicsFilterTypes
Definition: helics_enums.h:389
HelicsSequencingModes
Definition: helics_enums.h:425
@ HELICS_SEQUENCING_MODE_FAST
Definition: helics_enums.h:427
Definition: cpp98/Broker.hpp:18
struct helicscpp::HelicsIterationTime HelicsIterationTime
Definition: cpp98/Federate.hpp:220
HelicsIterationResult status
the convergence state
Definition: cpp98/Federate.hpp:222
HelicsTime grantedTime
the time of the granted step
Definition: cpp98/Federate.hpp:221