 |
helics
3.0.1
|
Go to the documentation of this file.
14 #ifndef HELICS_APISHARED_VALUE_FEDERATE_FUNCTIONS_H_
15 #define HELICS_APISHARED_VALUE_FEDERATE_FUNCTIONS_H_
void removeTarget(const Publication &pub, const std::string &target)
Definition: ValueFederate.cpp:152
Time getLastUpdateTime(const Input &inp) const
Definition: ValueFederate.cpp:494
Common functions for the HELICS C api.
int helicsInputGetVectorSize(HelicsInput ipt)
Definition: ValueFederateExport.cpp:888
double HelicsTime
Definition: api-data.h:90
virtual void setFlagOption(int flag, bool flagValue=true) override
Definition: ValueFederate.cpp:162
HelicsTime helicsInputLastUpdateTime(HelicsInput ipt)
Definition: ValueFederateExport.cpp:1554
void clearUpdate(const Input &inp)
Definition: ValueFederate.cpp:642
Publication & getPublication(const std::string &name)
Definition: ValueFederate.cpp:576
void helicsInputGetBytes(HelicsInput ipt, void *data, int maxDataLength, int *actualSize, HelicsError *err)
Definition: ValueFederateExport.cpp:702
const std::string & getName() const
Definition: application_api/Federate.hpp:570
void helicsInputSetDefaultComplexVector(HelicsInput ipt, const double *vectorInput, int vectorLength, HelicsError *err)
Definition: ValueFederateExport.cpp:1128
Definition: application_api/ValueFederate.hpp:25
FederateInfo loadFederateInfo(const std::string &configString)
Definition: FederateInfo.cpp:675
HelicsBool helicsPublicationIsValid(HelicsPublication pub)
Definition: ValueFederateExport.cpp:655
HelicsDataTypes
Definition: helics_enums.h:63
int helicsFederateGetPublicationCount(HelicsFederate fed)
Definition: ValueFederateExport.cpp:1586
void helicsPublicationPublishComplex(HelicsPublication pub, double real, double imag, HelicsError *err)
Definition: ValueFederateExport.cpp:576
HelicsBool helicsInputIsValid(HelicsInput ipt)
Definition: ValueFederateExport.cpp:664
void addAlias(const Input &inp, const std::string &shortcutName)
Definition: ValueFederate.cpp:148
void helicsInputSetDefaultInteger(HelicsInput ipt, int64_t val, HelicsError *err)
Definition: ValueFederateExport.cpp:1051
void helicsPublicationAddTarget(HelicsPublication pub, const char *target, HelicsError *err)
Definition: ValueFederateExport.cpp:644
void * HelicsFederate
Definition: api-data.h:60
void helicsInputSetDefaultComplex(HelicsInput ipt, double real, double imag, HelicsError *err)
Definition: ValueFederateExport.cpp:1098
std::vector< int > queryUpdates()
Definition: ValueFederate.cpp:518
std::atomic< Modes > currentMode
the current state of the simulation
Definition: application_api/Federate.hpp:77
void helicsInputSetDefaultNamedPoint(HelicsInput ipt, const char *str, double val, HelicsError *err)
Definition: ValueFederateExport.cpp:1152
TimeRepresentation< count_time< 9 > > Time
Definition: helicsTime.hpp:27
virtual void registerInterfaces(const std::string &configString)
Definition: Federate.cpp:813
void setDefaultValue(const Input &inp, data_view block)
Definition: ValueFederate.cpp:177
HelicsTime helicsInputGetTime(HelicsInput ipt, HelicsError *err)
Definition: ValueFederateExport.cpp:810
void * HelicsInput
Definition: api-data.h:26
Publication & registerPublication(const std::string &name, const std::string &type, const std::string &units=std::string())
Definition: ValueFederate.cpp:99
int helicsFederateGetInputCount(HelicsFederate fed)
Definition: ValueFederateExport.cpp:1596
Definition: data_view.hpp:22
char nameSegmentSeparator
the separator between automatically prependend names
Definition: application_api/Federate.hpp:78
HelicsPublication helicsFederateGetPublication(HelicsFederate fed, const char *key, HelicsError *err)
Definition: ValueFederateExport.cpp:328
int getOptionIndex(std::string val)
Definition: FederateInfo.cpp:385
HelicsPublication helicsFederateRegisterTypePublication(HelicsFederate fed, const char *key, const char *type, const char *units, HelicsError *err)
Definition: ValueFederateExport.cpp:98
Input & registerGlobalInput(const std::string &name, const std::string &type, const std::string &units=std::string())
Definition: ValueFederate.cpp:124
virtual void setFlagOption(int flag, bool flagValue=true)
Definition: Federate.cpp:493
void helicsFederateClearUpdates(HelicsFederate fed)
Definition: ValueFederateExport.cpp:461
void helicsFederatePublishJSON(HelicsFederate fed, const char *json, HelicsError *err)
Definition: ValueFederateExport.cpp:308
int getOptionValue(std::string val)
Definition: FederateInfo.cpp:404
Definition: core-exceptions.hpp:66
int getInputCount() const
Definition: ValueFederate.cpp:632
Definition: core-exceptions.hpp:47
HelicsPublication helicsFederateRegisterGlobalInput(HelicsFederate fed, const char *key, HelicsDataTypes type, const char *units, HelicsError *err)
Definition: ValueFederateExport.cpp:262
void helicsPublicationPublishInteger(HelicsPublication pub, int64_t val, HelicsError *err)
Definition: ValueFederateExport.cpp:505
void registerFromPublicationJSON(const std::string &jsonString)
Definition: ValueFederate.cpp:436
char helicsInputGetChar(HelicsInput ipt, HelicsError *err)
Definition: ValueFederateExport.cpp:828
Definition: core-exceptions.hpp:84
Definition: api-data.h:147
Definition: application_api/CoreApp.hpp:25
bool isMember(const toml::value &element, const std::string &key)
Definition: TomlProcessingFunctions.hpp:152
HelicsInput helicsFederateGetInput(HelicsFederate fed, const char *key, HelicsError *err)
Definition: ValueFederateExport.cpp:382
void helicsPublicationPublishNamedPoint(HelicsPublication pub, const char *str, double val, HelicsError *err)
Definition: ValueFederateExport.cpp:626
HelicsPublication helicsFederateRegisterGlobalPublication(HelicsFederate fed, const char *key, HelicsDataTypes type, const char *units, HelicsError *err)
Definition: ValueFederateExport.cpp:165
void setInputNotificationCallback(std::function< void(Input &, Time)> callback)
Definition: ValueFederate.cpp:616
Definition: FederateInfo.hpp:20
void helicsInputAddTarget(HelicsInput ipt, const char *target, HelicsError *err)
Definition: ValueFederateExport.cpp:673
bool isUpdated(const Input &inp) const
Definition: ValueFederate.cpp:489
void helicsInputGetComplexVector(HelicsInput ipt, double data[], int maxLength, int *actualSize, HelicsError *err)
Definition: ValueFederateExport.cpp:947
Federate & operator=(Federate &&fed) noexcept
Definition: Federate.cpp:190
bool useJsonSerialization
Definition: application_api/Federate.hpp:82
void publishBytes(const Publication &pub, data_view block)
Definition: ValueFederate.cpp:404
int helicsInputGetStringSize(HelicsInput ipt)
Definition: ValueFederateExport.cpp:904
double helicsInputGetDouble(HelicsInput ipt, HelicsError *err)
Definition: ValueFederateExport.cpp:795
bool useJsonSerialization
Definition: FederateInfo.hpp:35
void helicsPublicationPublishComplexVector(HelicsPublication pub, const double *vectorInput, int vectorLength, HelicsError *err)
Definition: ValueFederateExport.cpp:608
auto getID() const noexcept
Definition: application_api/Federate.hpp:563
virtual void updateTime(Time newTime, Time oldTime) override
Definition: ValueFederate.cpp:499
void helicsPublicationPublishTime(HelicsPublication pub, HelicsTime val, HelicsError *err)
Definition: ValueFederateExport.cpp:547
HelicsInput helicsFederateGetInputByIndex(HelicsFederate fed, int index, HelicsError *err)
Definition: ValueFederateExport.cpp:408
HelicsPublication helicsFederateRegisterPublication(HelicsFederate fed, const char *key, HelicsDataTypes type, const char *units, HelicsError *err)
Definition: ValueFederateExport.cpp:118
IterationResult
Definition: CoreTypes.hpp:80
void publishJSON(const std::string &jsonString)
Definition: ValueFederate.cpp:464
void helicsInputSetDefaultDouble(HelicsInput ipt, double val, HelicsError *err)
Definition: ValueFederateExport.cpp:1069
HelicsInput helicsFederateGetSubscription(HelicsFederate fed, const char *key, HelicsError *err)
Definition: ValueFederateExport.cpp:435
virtual void startupToInitializeStateTransition() override
Definition: ValueFederate.cpp:504
HelicsInput helicsFederateRegisterSubscription(HelicsFederate fed, const char *key, const char *units, HelicsError *err)
Definition: ValueFederateExport.cpp:77
virtual void registerInterfaces(const std::string &configString) override
Definition: ValueFederate.cpp:182
const Input & getSubscription(const std::string &target) const
Definition: ValueFederate.cpp:566
void helicsPublicationPublishString(HelicsPublication pub, const char *str, HelicsError *err)
Definition: ValueFederateExport.cpp:491
HelicsInput helicsFederateRegisterInput(HelicsFederate fed, const char *key, HelicsDataTypes type, const char *units, HelicsError *err)
Definition: ValueFederateExport.cpp:212
bool forceCoreUpdate(Input &inp)
Definition: ValueFederate.cpp:399
@ HELICS_FLAG_USE_JSON_SERIALIZATION
Definition: helics_enums.h:134
Input & registerInput(const std::string &name, const std::string &type, const std::string &units=std::string())
Definition: ValueFederate.cpp:114
Input & registerSubscription(const std::string &target, const std::string &units=std::string())
Definition: ValueFederate.cpp:131
Definition: Publications.hpp:24
void helicsInputSetDefaultBytes(HelicsInput ipt, const void *data, int inputDataLength, HelicsError *err)
Definition: ValueFederateExport.cpp:1015
void helicsInputClearUpdate(HelicsInput ipt)
Definition: ValueFederateExport.cpp:1571
void helicsPublicationPublishChar(HelicsPublication pub, char val, HelicsError *err)
Definition: ValueFederateExport.cpp:562
void helicsPublicationPublishDouble(HelicsPublication pub, double val, HelicsError *err)
Definition: ValueFederateExport.cpp:533
void helicsInputSetDefaultChar(HelicsInput ipt, char val, HelicsError *err)
Definition: ValueFederateExport.cpp:1089
Definition: api-data.h:160
HelicsPublication helicsFederateRegisterGlobalTypePublication(HelicsFederate fed, const char *key, const char *type, const char *units, HelicsError *err)
Definition: ValueFederateExport.cpp:145
int helicsInputGetByteCount(HelicsInput ipt)
Definition: ValueFederateExport.cpp:683
the main namespace for the helics co-simulation library User functions will be in the helics namespac...
Definition: AsyncFedCallInfo.hpp:14
void * HelicsPublication
Definition: api-data.h:31
virtual void initializeToExecuteStateTransition(IterationResult result) override
Definition: ValueFederate.cpp:508
HelicsInput helicsFederateRegisterTypeInput(HelicsFederate fed, const char *key, const char *type, const char *units, HelicsError *err)
Definition: ValueFederateExport.cpp:193
HelicsPublication helicsFederateRegisterGlobalTypeInput(HelicsFederate fed, const char *key, const char *type, const char *units, HelicsError *err)
Definition: ValueFederateExport.cpp:242
void helicsFederateRegisterFromPublicationJSON(HelicsFederate fed, const char *json, HelicsError *err)
Definition: ValueFederateExport.cpp:291
void logWarningMessage(const std::string &message) const
Definition: application_api/Federate.hpp:592
HelicsBool helicsInputGetBoolean(HelicsInput ipt, HelicsError *err)
Definition: ValueFederateExport.cpp:777
ValueFederate & operator=(ValueFederate &&fed) noexcept
Definition: ValueFederate.cpp:89
HelicsComplex helicsInputGetComplexObject(HelicsInput ipt, HelicsError *err)
Definition: ValueFederateExport.cpp:867
void registerValueInterfaces(const std::string &configString)
Definition: ValueFederate.cpp:188
void addTarget(const Publication &pub, const std::string &target)
Definition: ValueFederate.cpp:138
void helicsPublicationPublishVector(HelicsPublication pub, const double *vectorInput, int vectorLength, HelicsError *err)
Definition: ValueFederateExport.cpp:590
void clearUpdates()
Definition: ValueFederate.cpp:637
int getPublicationCount() const
Definition: ValueFederate.cpp:627
Definition: application_api/Federate.hpp:47
int64_t helicsInputGetInteger(HelicsInput ipt, HelicsError *err)
Definition: ValueFederateExport.cpp:762
void helicsInputSetDefaultTime(HelicsInput ipt, HelicsTime val, HelicsError *err)
Definition: ValueFederateExport.cpp:1078
void helicsInputGetString(HelicsInput ipt, char *outputString, int maxStringLength, int *actualLength, HelicsError *err)
Definition: ValueFederateExport.cpp:736
const std::string & getTarget(const Input &inp) const
Definition: ValueFederate.cpp:523
void helicsPublicationPublishBytes(HelicsPublication pub, const void *data, int inputDataLength, HelicsError *err)
Definition: ValueFederateExport.cpp:477
HelicsBool helicsInputIsUpdated(HelicsInput ipt)
Definition: ValueFederateExport.cpp:1543
const Input & getInput(const std::string &name) const
Definition: ValueFederate.cpp:528
void helicsInputGetNamedPoint(HelicsInput ipt, char *outputString, int maxStringLength, int *actualLength, double *val, HelicsError *err)
Definition: ValueFederateExport.cpp:974
void helicsInputGetComplex(HelicsInput ipt, double *real, double *imag, HelicsError *err)
Definition: ValueFederateExport.cpp:845
data_view getBytes(const Input &inp)
Definition: ValueFederate.cpp:394
virtual std::string localQuery(const std::string &queryStr) const override
Definition: ValueFederate.cpp:513
void helicsInputGetVector(HelicsInput ipt, double data[], int maxLength, int *actualSize, HelicsError *err)
Definition: ValueFederateExport.cpp:920
HelicsPublication helicsFederateGetPublicationByIndex(HelicsFederate fed, int index, HelicsError *err)
Definition: ValueFederateExport.cpp:353
std::shared_ptr< Core > coreObject
reference to the core simulation API
Definition: application_api/Federate.hpp:89
void helicsInputSetDefaultVector(HelicsInput ipt, const double *vectorInput, int vectorLength, HelicsError *err)
Definition: ValueFederateExport.cpp:1108
void helicsInputSetDefaultString(HelicsInput ipt, const char *str, HelicsError *err)
Definition: ValueFederateExport.cpp:1035
Publication & registerGlobalPublication(const std::string &name, const std::string &type, const std::string &units=std::string())
Definition: ValueFederate.cpp:107
int HelicsBool
Definition: api-data.h:102
void helicsInputSetDefaultBoolean(HelicsInput ipt, HelicsBool val, HelicsError *err)
Definition: ValueFederateExport.cpp:1060
void helicsPublicationPublishBoolean(HelicsPublication pub, HelicsBool val, HelicsError *err)
Definition: ValueFederateExport.cpp:519
virtual void disconnect()
Definition: Federate.cpp:599