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
63 fedInfo = otherFedInfo.fedInfo;
64 otherFedInfo.fedInfo = HELICS_NULL_POINTER;
70 fedInfo = otherFedInfo.fedInfo;
71 otherFedInfo.fedInfo = HELICS_NULL_POINTER;
77 void loadFromArgs(
const std::string& argString)
140 HELICS_NULL_POINTER);
159 HELICS_NULL_POINTER);
169 #if defined(HELICS_HAS_FUNCTIONAL) && HELICS_HAS_FUNCTIONAL != 0
172 inline void helicCppQueryCallbackExecutor(
const char* query,
177 auto cback =
reinterpret_cast<std::function<std::string(
const std::string&)
>*>(userData);
178 std::string val(query, stringSize);
179 std::string result = (*cback)(val);
187 auto cback =
reinterpret_cast<std::function<
void(
HelicsTime,
bool)
>*>(userData);
199 (*cback)(newState, oldState);
203 inline void helicCppTimeRequestEntryCallbackExecutor(
HelicsTime currentTime,
209 (*cback)(currentTime, requestTime, iterating ==
HELICS_TRUE);
212 inline void helicCppTimeRequestReturnCallbackExecutor(
HelicsTime newTime,
216 auto cback =
reinterpret_cast<std::function<
void(
HelicsTime,
bool)
>*>(userData);
245 #ifdef HELICS_HAS_RVALUE_REFS
251 fedObj.fed = HELICS_NULL_POINTER;
258 fedObj.fed = HELICS_NULL_POINTER;
265 if (
fed != HELICS_NULL_POINTER) {
268 #if defined(HELICS_HAS_FUNCTIONAL) && HELICS_HAS_FUNCTIONAL != 0
553 std::string
query(
const std::string& target,
554 const std::string& queryStr,
580 std::string
query(
const std::string& queryStr,
600 void sendCommand(
const std::string& target,
const std::string& cmd)
632 void setQueryCallback(
640 void setTimeRequestEntryCallback(
void (*timeRequestEntry)(
HelicsTime currentTime,
650 void setTimeUpdateCallback(
void (*timeUpdate)(
HelicsTime time,
668 void setTimeRequestReturnCallback(
void (*timeRequestReturn)(
HelicsTime newTime,
679 #if defined(HELICS_HAS_FUNCTIONAL) && HELICS_HAS_FUNCTIONAL != 0
680 void setQueryCallback(std::function<std::string(
const std::string&)> callback)
683 checkCallbackAllocation();
684 callbackBuffers[queryCallbackLocation] =
685 new std::function<std::string(const std::string&)>(std::move(callback));
687 details::helicCppQueryCallbackExecutor,
688 callbackBuffers[queryCallbackLocation],
692 void setTimeRequestEntryCallback(
697 checkCallbackAllocation();
698 callbackBuffers[timeRequestEntryCallbackLocation] =
699 new std::function<void(HelicsTime, HelicsTime, bool)>(std::move(callback));
701 details::helicCppTimeRequestEntryCallbackExecutor,
702 callbackBuffers[timeRequestEntryCallbackLocation],
706 void setTimeUpdateCallback(std::function<
void(
HelicsTime time,
bool iterating)> callback)
709 checkCallbackAllocation();
710 callbackBuffers[timeUpdateCallbackLocation] =
711 new std::function<void(HelicsTime time, bool iterating)>(std::move(callback));
713 details::helicCppTimeUpdateCallbackExecutor,
714 callbackBuffers[timeUpdateCallbackLocation],
718 void setStateChangeCallback(
722 checkCallbackAllocation();
723 callbackBuffers[stateChangeCallbackLocation] =
724 new std::function<void(HelicsFederateState, HelicsFederateState)>(std::move(callback));
726 details::helicCppStateChangeCallbackExecutor,
727 callbackBuffers[stateChangeCallbackLocation],
731 void setTimeRequestReturnCallback(
732 std::function<
void(
HelicsTime newTime,
bool iterating)> callback)
735 checkCallbackAllocation();
736 callbackBuffers[timeRequestReturnCallbackLocation] =
737 new std::function<void(HelicsTime, bool)>(std::move(callback));
740 details::helicCppTimeRequestReturnCallbackExecutor,
741 callbackBuffers[timeRequestReturnCallbackLocation],
772 const std::string& filterName = std::string())
787 deliveryEndpoint.c_str(),
812 void setGlobal(
const std::string& valueName,
const std::string& value)
821 void addAlias(
const std::string& interfaceName,
const std::string& alias)
831 void setTag(
const std::string& tag,
const std::string& value)
841 const char*
getTag(
const std::string& tag)
const
859 void localError(
int errorCode,
const std::string& errorString)
906 #if defined(HELICS_HAS_FUNCTIONAL) && HELICS_HAS_FUNCTIONAL != 0
908 static constexpr
int numberOfCallbacks = 5;
909 static constexpr
int timeRequestEntryCallbackLocation = 0;
910 static constexpr
int timeUpdateCallbackLocation = 1;
911 static constexpr
int stateChangeCallbackLocation = 2;
912 static constexpr
int queryCallbackLocation = 3;
913 static constexpr
int timeRequestReturnCallbackLocation = 4;
914 void** callbackBuffers{
nullptr};
916 void checkCallbackAllocation()
918 if (callbackBuffers ==
nullptr) {
919 callbackBuffers =
new void*[numberOfCallbacks];
920 for (
int ii = 0; ii < numberOfCallbacks; ++ii) {
921 callbackBuffers[ii] =
nullptr;
927 if (callbackBuffers ==
nullptr) {
930 if (callbackBuffers[queryCallbackLocation] !=
nullptr) {
931 auto cback =
reinterpret_cast<std::function<std::string(
const std::string&)
>*>(
932 callbackBuffers[queryCallbackLocation]);
935 if (callbackBuffers[timeRequestEntryCallbackLocation] !=
nullptr) {
937 callbackBuffers[timeRequestEntryCallbackLocation]);
940 if (callbackBuffers[timeUpdateCallbackLocation] !=
nullptr) {
941 auto cback =
reinterpret_cast<std::function<
void(
HelicsTime,
bool)
>*>(
942 callbackBuffers[timeUpdateCallbackLocation]);
945 if (callbackBuffers[stateChangeCallbackLocation] !=
nullptr) {
948 callbackBuffers[stateChangeCallbackLocation]);
951 if (callbackBuffers[timeRequestReturnCallbackLocation] !=
nullptr) {
952 auto cback =
reinterpret_cast<std::function<
void(
HelicsTime,
bool)
>*>(
953 callbackBuffers[timeRequestReturnCallbackLocation]);
956 delete[] callbackBuffers;
961 inline void protect(
const std::string& name)
965 inline void unProtect(
const std::string& name)
970 inline bool isProtected(
const std::string& name)
HelicsFilter helicsFederateRegisterCloningFilter(HelicsFederate fed, const char *name, HelicsError *err)
Definition: MessageFiltersExport.cpp:167
int helicsFederateGetFilterCount(HelicsFederate fed)
Definition: MessageFiltersExport.cpp:255
HelicsFilter helicsFederateRegisterGlobalCloningFilter(HelicsFederate fed, const char *name, HelicsError *err)
Definition: MessageFiltersExport.cpp:187
HelicsFilter helicsFederateGetFilterByIndex(HelicsFederate fed, int index, HelicsError *err)
Definition: MessageFiltersExport.cpp:264
HelicsFilter helicsFederateGetFilter(HelicsFederate fed, const char *name, HelicsError *err)
Definition: MessageFiltersExport.cpp:231
HelicsFilter helicsFederateRegisterGlobalFilter(HelicsFederate fed, HelicsFilterTypes type, const char *name, HelicsError *err)
Definition: MessageFiltersExport.cpp:124
HelicsFilter helicsFederateRegisterFilter(HelicsFederate fed, HelicsFilterTypes type, const char *name, HelicsError *err)
Definition: MessageFiltersExport.cpp:103
void * HelicsFederateInfo
Definition: api-data.h:77
void * HelicsCore
Definition: api-data.h:54
double HelicsTime
Definition: api-data.h:106
HelicsIterationResult
Definition: api-data.h:137
@ HELICS_ITERATION_RESULT_NEXT_STEP
Definition: api-data.h:138
int HelicsBool
Definition: api-data.h:118
void * HelicsQuery
Definition: api-data.h:83
HelicsFederateState
Definition: api-data.h:147
HelicsIterationRequest
Definition: api-data.h:126
@ HELICS_ITERATION_REQUEST_NO_ITERATION
Definition: api-data.h:127
void * HelicsFederate
Definition: api-data.h:65
const HelicsBool HELICS_FALSE
Definition: api-data.h:121
void * HelicsQueryBuffer
Definition: api-data.h:94
const HelicsBool HELICS_TRUE
Definition: api-data.h:120
Definition: Filter.hpp:126
Definition: cpp98/Federate.hpp:28
FederateInfo(int coretype)
Definition: cpp98/Federate.hpp:41
FederateInfo(const FederateInfo &otherFedInfo)
Definition: cpp98/Federate.hpp:47
void setCoreType(int coretype)
Definition: cpp98/Federate.hpp:113
void setProperty(int integerProperty, int propertyValue)
Definition: cpp98/Federate.hpp:154
void setProperty(int timeProperty, HelicsTime timeValue)
Definition: cpp98/Federate.hpp:146
~FederateInfo()
Definition: cpp98/Federate.hpp:76
FederateInfo & operator=(const FederateInfo &otherFedInfo)
Definition: cpp98/Federate.hpp:52
void setFlagOption(int flag, bool value=true)
Definition: cpp98/Federate.hpp:135
void setBrokerInit(const std::string &brokerInit)
Set a string for the broker initialization in command line argument format.
Definition: cpp98/Federate.hpp:99
void setCoreName(const std::string &coreName)
Definition: cpp98/Federate.hpp:83
void setBroker(const std::string &broker)
Definition: cpp98/Federate.hpp:120
FederateInfo(const std::string &coretype)
Definition: cpp98/Federate.hpp:34
void setBrokerKey(const std::string &brokerkey)
Definition: cpp98/Federate.hpp:127
void setCoreType(const std::string &coretype)
Definition: cpp98/Federate.hpp:106
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:163
void setCoreInit(const std::string &coreInit)
Definition: cpp98/Federate.hpp:94
Definition: cpp98/Federate.hpp:229
void enterInitializingMode()
Definition: cpp98/Federate.hpp:359
HelicsTime getCurrentTime()
Definition: cpp98/Federate.hpp:459
Filter registerGlobalFilter(HelicsFilterTypes type, const std::string &filterName=std::string())
Definition: cpp98/Federate.hpp:771
void unProtect()
Definition: cpp98/Federate.hpp:538
const char * getName() const
Definition: cpp98/Federate.hpp:532
std::string query(const std::string &queryStr, HelicsSequencingModes mode=HELICS_SEQUENCING_MODE_FAST) const
Definition: cpp98/Federate.hpp:580
HelicsFederate fed
underlying HelicsFederate object
Definition: cpp98/Federate.hpp:904
HelicsTime getTimeProperty(int tProperty) const
Definition: cpp98/Federate.hpp:314
HelicsIterationResult enterExecutingModeComplete()
Definition: cpp98/Federate.hpp:439
const char * getCommand()
Definition: cpp98/Federate.hpp:611
void setProperty(int intProperty, int value)
Definition: cpp98/Federate.hpp:299
void protect()
Definition: cpp98/Federate.hpp:535
void enterInitializingModeComplete()
Definition: cpp98/Federate.hpp:372
void enterExecutingModeAsync(HelicsIterationRequest iterate=HELICS_ITERATION_REQUEST_NO_ITERATION)
Definition: cpp98/Federate.hpp:423
HelicsTime requestTimeComplete()
Definition: cpp98/Federate.hpp:511
void logWarningMessage(const std::string &message)
Definition: cpp98/Federate.hpp:879
void registerInterfaces(const std::string &configString)
Definition: cpp98/Federate.hpp:338
void localError(int errorCode, const std::string &errorString)
Definition: cpp98/Federate.hpp:859
void addAlias(const std::string &interfaceName, const std::string &alias)
Definition: cpp98/Federate.hpp:821
HelicsFederate getObject() const
Definition: cpp98/Federate.hpp:901
void enterInitializingModeIterativeAsync()
Definition: cpp98/Federate.hpp:390
HelicsIterationTime requestTimeIterativeComplete()
Definition: cpp98/Federate.hpp:519
HelicsTime requestTimeAdvance(HelicsTime timeDelta)
Definition: cpp98/Federate.hpp:474
HelicsTime requestNextStep()
Definition: cpp98/Federate.hpp:469
CloningFilter registerCloningFilter(const std::string &deliveryEndpoint)
Definition: cpp98/Federate.hpp:761
Filter getFilter(int index)
Definition: cpp98/Federate.hpp:802
bool getFlagOption(int flag) const
Definition: cpp98/Federate.hpp:307
void requestTimeAsync(HelicsTime time)
Definition: cpp98/Federate.hpp:493
HelicsFederateState getCurrentMode() const
Definition: cpp98/Federate.hpp:343
void enterInitializingModeIterativeComplete()
Definition: cpp98/Federate.hpp:398
Federate(const Federate &fedObj)
Copy constructor.
Definition: cpp98/Federate.hpp:234
bool isAsyncOperationCompleted() const
Definition: cpp98/Federate.hpp:351
Filter registerFilter(HelicsFilterTypes type, const std::string &filterName=std::string())
Definition: cpp98/Federate.hpp:750
void setProperty(int tProperty, HelicsTime timeValue)
Definition: cpp98/Federate.hpp:291
void finalize()
Definition: cpp98/Federate.hpp:452
const char * getCommandSource()
Definition: cpp98/Federate.hpp:627
int getIntegerProperty(int intProperty) const
Definition: cpp98/Federate.hpp:321
void setGlobal(const std::string &valueName, const std::string &value)
Definition: cpp98/Federate.hpp:812
int getFilterCount() const
Definition: cpp98/Federate.hpp:791
void setFlagOption(int flag, bool flagValue=true)
Definition: cpp98/Federate.hpp:280
HelicsFederate baseObject() const
Definition: cpp98/Federate.hpp:275
const char * getTag(const std::string &tag) const
Definition: cpp98/Federate.hpp:841
void setTag(const std::string &tag, const std::string &value)
Definition: cpp98/Federate.hpp:831
void logErrorMessage(const std::string &message)
Definition: cpp98/Federate.hpp:874
void logInfoMessage(const std::string &message)
Definition: cpp98/Federate.hpp:884
CloningFilter registerGlobalCloningFilter(const std::string &deliveryEndpoint)
Definition: cpp98/Federate.hpp:784
void requestTimeIterativeAsync(HelicsTime time, HelicsIterationRequest iterate)
Definition: cpp98/Federate.hpp:504
void logDebugMessage(const std::string &message)
Definition: cpp98/Federate.hpp:889
void logMessage(int level, const std::string &message)
Definition: cpp98/Federate.hpp:894
void addDependency(const std::string &fedName)
Definition: cpp98/Federate.hpp:850
bool exec_async_iterate
indicator that the federate is in an async operation
Definition: cpp98/Federate.hpp:905
void sendCommand(const std::string &target, const std::string &cmd)
Definition: cpp98/Federate.hpp:600
void enterInitializingModeAsync()
Definition: cpp98/Federate.hpp:364
void enterInitializingModeIterative()
Definition: cpp98/Federate.hpp:382
Federate & operator=(const Federate &fedObj)
Copy assignment operator.
Definition: cpp98/Federate.hpp:239
virtual ~Federate()
Definition: cpp98/Federate.hpp:263
Filter getFilter(const std::string &filterName)
Definition: cpp98/Federate.hpp:795
std::string query(const std::string &target, const std::string &queryStr, HelicsSequencingModes mode=HELICS_SEQUENCING_MODE_FAST) const
Definition: cpp98/Federate.hpp:553
void globalError(int errorCode, const std::string &errorString)
Definition: cpp98/Federate.hpp:868
void setSeparator(char sep)
Definition: cpp98/Federate.hpp:332
HelicsIterationTime requestTimeIterative(HelicsTime time, HelicsIterationRequest iterate)
Definition: cpp98/Federate.hpp:482
HelicsTime requestTime(HelicsTime time)
Definition: cpp98/Federate.hpp:463
void finalizeAsync()
Definition: cpp98/Federate.hpp:455
void finalizeComplete()
Definition: cpp98/Federate.hpp:457
const char * waitCommand()
Definition: cpp98/Federate.hpp:619
HelicsIterationResult enterExecutingMode(HelicsIterationRequest iterate=HELICS_ITERATION_REQUEST_NO_ITERATION)
Definition: cpp98/Federate.hpp:408
Federate() HELICS_NOTHROW
Default constructor.
Definition: cpp98/Federate.hpp:232
HelicsCore getCore()
Definition: cpp98/Federate.hpp:899
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:1382
void helicsFederateSetTimeRequestEntryCallback(HelicsFederate fed, void(*requestTime)(HelicsTime currentTime, HelicsTime requestTime, HelicsBool iterating, void *userdata), void *userdata, HelicsError *err)
Definition: FederateExport.cpp:1242
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:1268
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:1630
void helicsFederateEnterInitializingModeIterative(HelicsFederate fed, HelicsError *err)
Definition: FederateExport.cpp:899
HelicsTime helicsFederateRequestTimeIterativeComplete(HelicsFederate fed, HelicsIterationResult *outIterate, HelicsError *err)
Definition: FederateExport.cpp:1185
HelicsBool helicsFederateIsProtected(const char *fedName, HelicsError *err)
Definition: FederateExport.cpp:689
void helicsFederateSetGlobal(HelicsFederate fed, const char *valueName, const char *value, HelicsError *err)
Definition: FederateExport.cpp:1607
void helicsFederateEnterInitializingModeIterativeAsync(HelicsFederate fed, HelicsError *err)
Definition: FederateExport.cpp:913
HelicsIterationResult helicsFederateEnterExecutingModeIterativeComplete(HelicsFederate fed, HelicsError *err)
Definition: FederateExport.cpp:1048
const char * helicsFederateWaitCommand(HelicsFederate fed, HelicsError *err)
Definition: FederateExport.cpp:1807
const char * helicsFederateGetCommand(HelicsFederate fed, HelicsError *err)
Definition: FederateExport.cpp:1782
HelicsCore helicsFederateGetCore(HelicsFederate fed, HelicsError *err)
Definition: FederateExport.cpp:712
void helicsFederateLogInfoMessage(HelicsFederate fed, const char *logmessage, HelicsError *err)
Definition: FederateExport.cpp:1754
void helicsFederateRequestTimeIterativeAsync(HelicsFederate fed, HelicsTime requestTime, HelicsIterationRequest iterate, HelicsError *err)
Definition: FederateExport.cpp:1171
const char * helicsFederateGetTag(HelicsFederate fed, const char *tagName, HelicsError *err)
Definition: FederateExport.cpp:1675
void helicsFederateEnterExecutingModeComplete(HelicsFederate fed, HelicsError *err)
Definition: FederateExport.cpp:1035
void helicsFederateSetIntegerProperty(HelicsFederate fed, int intProperty, int propertyVal, HelicsError *err)
Definition: FederateExport.cpp:1517
void helicsFederateSetTag(HelicsFederate fed, const char *tagName, const char *value, HelicsError *err)
Definition: FederateExport.cpp:1655
void helicsFederateEnterInitializingModeIterativeComplete(HelicsFederate fed, HelicsError *err)
Definition: FederateExport.cpp:927
void helicsFederateLogWarningMessage(HelicsFederate fed, const char *logmessage, HelicsError *err)
Definition: FederateExport.cpp:1749
void helicsFederateInfoLoadFromString(HelicsFederateInfo fedInfo, const char *args, HelicsError *err)
Definition: FederateExport.cpp:242
HelicsFederate helicsFederateClone(HelicsFederate fed, HelicsError *err)
Definition: FederateExport.cpp:630
void helicsFederateInfoSetSeparator(HelicsFederateInfo fedInfo, char separator, HelicsError *err)
Definition: FederateExport.cpp:446
void helicsFederateAddDependency(HelicsFederate fed, const char *fedName, HelicsError *err)
Definition: FederateExport.cpp:1698
HelicsTime helicsFederateGetCurrentTime(HelicsFederate fed, HelicsError *err)
Definition: FederateExport.cpp:1596
void helicsFederateFinalize(HelicsFederate fed, HelicsError *err)
Definition: FederateExport.cpp:778
HelicsFederateInfo helicsCreateFederateInfo(void)
Definition: FederateExport.cpp:176
HelicsTime helicsFederateRequestTimeAdvance(HelicsFederate fed, HelicsTime timeDelta, HelicsError *err)
Definition: FederateExport.cpp:1080
void helicsFederateInfoFree(HelicsFederateInfo fedInfo)
Definition: FederateExport.cpp:212
void helicsFederateSendCommand(HelicsFederate fed, const char *target, const char *command, HelicsError *err)
Definition: FederateExport.cpp:1773
void helicsFederateSetTimeProperty(HelicsFederate fed, int timeProperty, HelicsTime time, HelicsError *err)
Definition: FederateExport.cpp:1487
HelicsTime helicsFederateRequestTimeComplete(HelicsFederate fed, HelicsError *err)
Definition: FederateExport.cpp:1155
void helicsFederateInfoSetFlagOption(HelicsFederateInfo fedInfo, int flag, HelicsBool value, HelicsError *err)
Definition: FederateExport.cpp:414
void helicsFederateEnterInitializingModeComplete(HelicsFederate fed, HelicsError *err)
Definition: FederateExport.cpp:885
void helicsQuerySetOrdering(HelicsQuery query, int32_t mode, HelicsError *err)
Definition: helicsExport.cpp:1305
void helicsFederateLogErrorMessage(HelicsFederate fed, const char *logmessage, HelicsError *err)
Definition: FederateExport.cpp:1744
void helicsFederateEnterExecutingMode(HelicsFederate fed, HelicsError *err)
Definition: FederateExport.cpp:941
HelicsTime helicsFederateRequestNextStep(HelicsFederate fed, HelicsError *err)
Definition: FederateExport.cpp:1096
void helicsFederateUnProtect(const char *fedName, HelicsError *err)
Definition: FederateExport.cpp:674
HelicsTime helicsFederateRequestTime(HelicsFederate fed, HelicsTime requestTime, HelicsError *err)
Definition: FederateExport.cpp:1064
void helicsFederateInfoSetBrokerInitString(HelicsFederateInfo fedInfo, const char *brokerInit, HelicsError *err)
Definition: FederateExport.cpp:284
const char * helicsFederateGetCommandSource(HelicsFederate fed, HelicsError *err)
Definition: FederateExport.cpp:1797
void helicsFederateFinalizeAsync(HelicsFederate fed, HelicsError *err)
Definition: FederateExport.cpp:783
void helicsQueryFree(HelicsQuery query)
Definition: helicsExport.cpp:1314
void helicsFederateLocalError(HelicsFederate fed, int errorCode, const char *errorString, HelicsError *err)
Definition: FederateExport.cpp:762
int helicsFederateGetIntegerProperty(HelicsFederate fed, int intProperty, HelicsError *err)
Definition: FederateExport.cpp:1570
void helicsFederateGlobalError(HelicsFederate fed, int errorCode, const char *errorString, HelicsError *err)
Definition: FederateExport.cpp:746
void helicsFederateRegisterInterfaces(HelicsFederate fed, const char *file, HelicsError *err)
Definition: FederateExport.cpp:728
HelicsBool helicsFederateGetFlagOption(HelicsFederate fed, int flag, HelicsError *err)
Definition: FederateExport.cpp:1552
HelicsTime helicsFederateRequestTimeIterative(HelicsFederate fed, HelicsTime requestTime, HelicsIterationRequest iterate, HelicsIterationResult *outIteration, HelicsError *err)
Definition: FederateExport.cpp:1112
void helicsFederateLogDebugMessage(HelicsFederate fed, const char *logmessage, HelicsError *err)
Definition: FederateExport.cpp:1759
void helicsFederateFree(HelicsFederate fed)
Definition: helicsExport.cpp:1059
HelicsQuery helicsCreateQuery(const char *target, const char *query)
Definition: helicsExport.cpp:1128
void helicsFederateLogLevelMessage(HelicsFederate fed, int loglevel, const char *logmessage, HelicsError *err)
Definition: FederateExport.cpp:1764
HelicsIterationResult helicsFederateEnterExecutingModeIterative(HelicsFederate fed, HelicsIterationRequest iterate, HelicsError *err)
Definition: FederateExport.cpp:991
HelicsTime helicsFederateGetTimeProperty(HelicsFederate fed, int timeProperty, HelicsError *err)
Definition: FederateExport.cpp:1533
void helicsFederateInfoSetBroker(HelicsFederateInfo fedInfo, const char *broker, HelicsError *err)
Definition: FederateExport.cpp:328
HelicsBool helicsFederateIsAsyncOperationCompleted(HelicsFederate fed, HelicsError *err)
Definition: FederateExport.cpp:870
void helicsFederateInfoSetCoreInitString(HelicsFederateInfo fedInfo, const char *coreInit, HelicsError *err)
Definition: FederateExport.cpp:270
void helicsFederateEnterExecutingModeIterativeAsync(HelicsFederate fed, HelicsIterationRequest iterate, HelicsError *err)
Definition: FederateExport.cpp:1021
void helicsFederateSetFlagOption(HelicsFederate fed, int flag, HelicsBool flagValue, HelicsError *err)
Definition: FederateExport.cpp:1501
const char * helicsFederateGetName(HelicsFederate fed)
Definition: FederateExport.cpp:1477
void helicsFederateInfoSetCoreType(HelicsFederateInfo fedInfo, int coretype, HelicsError *err)
Definition: FederateExport.cpp:298
void helicsFederateInfoSetIntegerProperty(HelicsFederateInfo fedInfo, int intProperty, int propertyValue, HelicsError *err)
Definition: FederateExport.cpp:455
const char * helicsQueryExecute(HelicsQuery query, HelicsFederate fed, HelicsError *err)
Definition: helicsExport.cpp:1141
void helicsFederateProtect(const char *fedName, HelicsError *err)
Definition: FederateExport.cpp:663
void helicsFederateFinalizeComplete(HelicsFederate fed, HelicsError *err)
Definition: FederateExport.cpp:788
void helicsFederateRequestTimeAsync(HelicsFederate fed, HelicsTime requestTime, HelicsError *err)
Definition: FederateExport.cpp:1141
void helicsFederateEnterInitializingModeAsync(HelicsFederate fed, HelicsError *err)
Definition: FederateExport.cpp:856
void helicsFederateInfoSetCoreName(HelicsFederateInfo fedInfo, const char *corename, HelicsError *err)
Definition: FederateExport.cpp:256
void helicsFederateInfoSetTimeProperty(HelicsFederateInfo fedInfo, int timeProperty, HelicsTime propertyValue, HelicsError *err)
Definition: FederateExport.cpp:437
void helicsFederateInfoSetBrokerKey(HelicsFederateInfo fedInfo, const char *brokerkey, HelicsError *err)
Definition: FederateExport.cpp:342
void helicsFederateEnterInitializingMode(HelicsFederate fed, HelicsError *err)
Definition: FederateExport.cpp:842
HelicsFederateState helicsFederateGetState(HelicsFederate fed, HelicsError *err)
Definition: FederateExport.cpp:1231
void helicsFederateSetSeparator(HelicsFederate fed, char separator, HelicsError *err)
Definition: FederateExport.cpp:1587
void helicsFederateInfoSetCoreTypeFromString(HelicsFederateInfo fedInfo, const char *coretype, HelicsError *err)
Definition: FederateExport.cpp:307
void helicsFederateEnterExecutingModeAsync(HelicsFederate fed, HelicsError *err)
Definition: FederateExport.cpp:1007
void helicsFederateProcessCommunications(HelicsFederate fed, HelicsTime period, HelicsError *err)
Definition: FederateExport.cpp:1210
HelicsFilterTypes
Definition: helics_enums.h:391
HelicsSequencingModes
Definition: helics_enums.h:427
@ HELICS_SEQUENCING_MODE_FAST
Definition: helics_enums.h:429
Definition: cpp98/Broker.hpp:18
struct helicscpp::HelicsIterationTime HelicsIterationTime
Definition: cpp98/Federate.hpp:223
HelicsIterationResult status
the convergence state
Definition: cpp98/Federate.hpp:225
HelicsTime grantedTime
the time of the granted step
Definition: cpp98/Federate.hpp:224