helics  3.3.0
ValueFederate.h
Go to the documentation of this file.
1 /*
2 Copyright (c) 2017-2022,
3 Battelle Memorial Institute; Lawrence Livermore National Security, LLC; Alliance for Sustainable Energy, LLC. See the top-level NOTICE for
4 additional details. All rights reserved.
5 SPDX-License-Identifier: BSD-3-Clause
6 */
7 
14 #ifndef HELICS_APISHARED_VALUE_FEDERATE_FUNCTIONS_H_
15 #define HELICS_APISHARED_VALUE_FEDERATE_FUNCTIONS_H_
16 
17 #include "helicsCore.h"
18 
19 #ifdef __cplusplus
20 extern "C" {
21 #endif
22 
43 HELICS_EXPORT HelicsInput helicsFederateRegisterSubscription(HelicsFederate fed, const char* key, const char* units, HelicsError* err);
44 
61 HELICS_EXPORT HelicsPublication
62  helicsFederateRegisterPublication(HelicsFederate fed, const char* key, HelicsDataTypes type, const char* units, HelicsError* err);
63 
80 HELICS_EXPORT HelicsPublication
81  helicsFederateRegisterTypePublication(HelicsFederate fed, const char* key, const char* type, const char* units, HelicsError* err);
82 
99 HELICS_EXPORT HelicsPublication
100  helicsFederateRegisterGlobalPublication(HelicsFederate fed, const char* key, HelicsDataTypes type, const char* units, HelicsError* err);
101 
118 HELICS_EXPORT HelicsPublication
119  helicsFederateRegisterGlobalTypePublication(HelicsFederate fed, const char* key, const char* type, const char* units, HelicsError* err);
120 
137 HELICS_EXPORT HelicsInput
138  helicsFederateRegisterInput(HelicsFederate fed, const char* key, HelicsDataTypes type, const char* units, HelicsError* err);
139 
156 HELICS_EXPORT HelicsInput
157  helicsFederateRegisterTypeInput(HelicsFederate fed, const char* key, const char* type, const char* units, HelicsError* err);
158 
175 HELICS_EXPORT HelicsPublication
176  helicsFederateRegisterGlobalInput(HelicsFederate fed, const char* key, HelicsDataTypes type, const char* units, HelicsError* err);
177 
194 HELICS_EXPORT HelicsPublication
195  helicsFederateRegisterGlobalTypeInput(HelicsFederate fed, const char* key, const char* type, const char* units, HelicsError* err);
196 
209 HELICS_EXPORT HelicsPublication helicsFederateGetPublication(HelicsFederate fed, const char* key, HelicsError* err);
210 
223 
236 HELICS_EXPORT HelicsInput helicsFederateGetInput(HelicsFederate fed, const char* key, HelicsError* err);
237 
249 HELICS_EXPORT HelicsInput helicsFederateGetInputByIndex(HelicsFederate fed, int index, HelicsError* err);
250 
263 HELICS_EXPORT HelicsInput helicsFederateGetSubscription(HelicsFederate fed, const char* key, HelicsError* err);
264 
270 HELICS_EXPORT void helicsFederateClearUpdates(HelicsFederate fed);
271 
283 HELICS_EXPORT void helicsFederateRegisterFromPublicationJSON(HelicsFederate fed, const char* json, HelicsError* err);
284 
294 HELICS_EXPORT void helicsFederatePublishJSON(HelicsFederate fed, const char* json, HelicsError* err);
295 
312 
323 HELICS_EXPORT void helicsPublicationPublishBytes(HelicsPublication pub, const void* data, int inputDataLength, HelicsError* err);
324 
334 HELICS_EXPORT void helicsPublicationPublishString(HelicsPublication pub, const char* val, HelicsError* err);
335 
345 HELICS_EXPORT void helicsPublicationPublishInteger(HelicsPublication pub, int64_t val, HelicsError* err);
346 
357 
367 HELICS_EXPORT void helicsPublicationPublishDouble(HelicsPublication pub, double val, HelicsError* err);
368 
378 HELICS_EXPORT void helicsPublicationPublishTime(HelicsPublication pub, HelicsTime val, HelicsError* err);
379 
389 HELICS_EXPORT void helicsPublicationPublishChar(HelicsPublication pub, char val, HelicsError* err);
390 
401 HELICS_EXPORT void helicsPublicationPublishComplex(HelicsPublication pub, double real, double imag, HelicsError* err);
402 
413 HELICS_EXPORT void helicsPublicationPublishVector(HelicsPublication pub, const double* vectorInput, int vectorLength, HelicsError* err);
414 
425 HELICS_EXPORT void
426  helicsPublicationPublishComplexVector(HelicsPublication pub, const double* vectorInput, int vectorLength, HelicsError* err);
427 
438 HELICS_EXPORT void helicsPublicationPublishNamedPoint(HelicsPublication pub, const char* field, double val, HelicsError* err);
439 
449 HELICS_EXPORT void helicsPublicationAddTarget(HelicsPublication pub, const char* target, HelicsError* err);
450 
458 HELICS_EXPORT HelicsBool helicsInputIsValid(HelicsInput ipt);
459 
469 HELICS_EXPORT void helicsInputAddTarget(HelicsInput ipt, const char* target, HelicsError* err);
470 
485 HELICS_EXPORT int helicsInputGetByteCount(HelicsInput ipt);
486 
497 HELICS_EXPORT void helicsInputGetBytes(HelicsInput ipt, void* data, int maxDataLength, int* actualSize, HelicsError* err);
498 
504 HELICS_EXPORT int helicsInputGetStringSize(HelicsInput ipt);
505 
516 HELICS_EXPORT void helicsInputGetString(HelicsInput ipt, char* outputString, int maxStringLength, int* actualLength, HelicsError* err);
517 
527 HELICS_EXPORT int64_t helicsInputGetInteger(HelicsInput ipt, HelicsError* err);
528 
539 
549 HELICS_EXPORT double helicsInputGetDouble(HelicsInput ipt, HelicsError* err);
550 
560 HELICS_EXPORT HelicsTime helicsInputGetTime(HelicsInput ipt, HelicsError* err);
561 
572 HELICS_EXPORT char helicsInputGetChar(HelicsInput ipt, HelicsError* err);
573 
585 
596 HELICS_EXPORT void helicsInputGetComplex(HelicsInput ipt, double* real, double* imag, HelicsError* err);
597 
603 HELICS_EXPORT int helicsInputGetVectorSize(HelicsInput ipt);
604 
615 HELICS_EXPORT void helicsInputGetVector(HelicsInput ipt, double data[], int maxLength, int* actualSize, HelicsError* err);
616 
627 HELICS_EXPORT void helicsInputGetComplexVector(HelicsInput ipt, double data[], int maxLength, int* actualSize, HelicsError* err);
628 
640 HELICS_EXPORT void
641  helicsInputGetNamedPoint(HelicsInput ipt, char* outputString, int maxStringLength, int* actualLength, double* val, HelicsError* err);
642 
660 HELICS_EXPORT void helicsInputSetDefaultBytes(HelicsInput ipt, const void* data, int inputDataLength, HelicsError* err);
661 
670 HELICS_EXPORT void helicsInputSetDefaultString(HelicsInput ipt, const char* defaultString, HelicsError* err);
671 
680 HELICS_EXPORT void helicsInputSetDefaultInteger(HelicsInput ipt, int64_t val, HelicsError* err);
681 
690 HELICS_EXPORT void helicsInputSetDefaultBoolean(HelicsInput ipt, HelicsBool val, HelicsError* err);
691 
700 HELICS_EXPORT void helicsInputSetDefaultTime(HelicsInput ipt, HelicsTime val, HelicsError* err);
701 
710 HELICS_EXPORT void helicsInputSetDefaultChar(HelicsInput ipt, char val, HelicsError* err);
711 
720 HELICS_EXPORT void helicsInputSetDefaultDouble(HelicsInput ipt, double val, HelicsError* err);
721 
731 HELICS_EXPORT void helicsInputSetDefaultComplex(HelicsInput ipt, double real, double imag, HelicsError* err);
732 
742 HELICS_EXPORT void helicsInputSetDefaultVector(HelicsInput ipt, const double* vectorInput, int vectorLength, HelicsError* err);
743 
753 HELICS_EXPORT void helicsInputSetDefaultComplexVector(HelicsInput ipt, const double* vectorInput, int vectorLength, HelicsError* err);
754 
764 HELICS_EXPORT void helicsInputSetDefaultNamedPoint(HelicsInput ipt, const char* defaultName, double val, HelicsError* err);
765 
780 HELICS_EXPORT const char* helicsInputGetType(HelicsInput ipt);
781 
789 HELICS_EXPORT const char* helicsInputGetPublicationType(HelicsInput ipt);
790 
798 HELICS_EXPORT int helicsInputGetPublicationDataType(HelicsInput ipt);
799 
807 HELICS_EXPORT const char* helicsPublicationGetType(HelicsPublication pub);
808 
816 HELICS_EXPORT const char* helicsInputGetName(HelicsInput ipt);
817 
823 HELICS_EXPORT const char* helicsSubscriptionGetTarget(HelicsInput ipt);
824 
834 HELICS_EXPORT const char* helicsPublicationGetName(HelicsPublication pub);
835 
843 HELICS_EXPORT const char* helicsInputGetUnits(HelicsInput ipt);
844 
852 HELICS_EXPORT const char* helicsInputGetInjectionUnits(HelicsInput ipt);
853 
863 HELICS_EXPORT const char* helicsInputGetExtractionUnits(HelicsInput ipt);
864 
872 HELICS_EXPORT const char* helicsPublicationGetUnits(HelicsPublication pub);
873 
881 HELICS_EXPORT const char* helicsInputGetInfo(HelicsInput inp);
882 
891 HELICS_EXPORT void helicsInputSetInfo(HelicsInput inp, const char* info, HelicsError* err);
892 
900 HELICS_EXPORT const char* helicsInputGetTag(HelicsInput inp, const char* tagname);
901 
911 HELICS_EXPORT void helicsInputSetTag(HelicsInput inp, const char* tagname, const char* tagvalue, HelicsError* err);
912 
920 HELICS_EXPORT const char* helicsPublicationGetInfo(HelicsPublication pub);
921 
930 HELICS_EXPORT void helicsPublicationSetInfo(HelicsPublication pub, const char* info, HelicsError* err);
931 
939 HELICS_EXPORT const char* helicsPublicationGetTag(HelicsPublication pub, const char* tagname);
940 
950 HELICS_EXPORT void helicsPublicationSetTag(HelicsPublication pub, const char* tagname, const char* tagvalue, HelicsError* err);
951 
960 HELICS_EXPORT int helicsInputGetOption(HelicsInput inp, int option);
961 
971 HELICS_EXPORT void helicsInputSetOption(HelicsInput inp, int option, int value, HelicsError* err);
972 
981 HELICS_EXPORT int helicsPublicationGetOption(HelicsPublication pub, int option);
982 
992 HELICS_EXPORT void helicsPublicationSetOption(HelicsPublication pub, int option, int val, HelicsError* err);
993 
1002 HELICS_EXPORT void helicsPublicationSetMinimumChange(HelicsPublication pub, double tolerance, HelicsError* err);
1003 
1012 HELICS_EXPORT void helicsInputSetMinimumChange(HelicsInput inp, double tolerance, HelicsError* err);
1013 
1021 HELICS_EXPORT HelicsBool helicsInputIsUpdated(HelicsInput ipt);
1022 
1027 
1031 HELICS_EXPORT void helicsInputClearUpdate(HelicsInput ipt);
1032 
1038 HELICS_EXPORT int helicsFederateGetPublicationCount(HelicsFederate fed);
1039 
1045 HELICS_EXPORT int helicsFederateGetInputCount(HelicsFederate fed);
1046 
1047 #ifdef __cplusplus
1048 } /* end of extern "C" { */
1049 #endif
1050 
1051 #endif /* HELICS_APISHARED_VALUE_FEDERATE_FUNCTIONS_H_*/
helics::ValueFederate::getLastUpdateTime
Time getLastUpdateTime(const Input &inp) const
Definition: ValueFederate.cpp:506
helics::Input
Definition: Inputs.hpp:38
helicsInputGetUnits
const char * helicsInputGetUnits(HelicsInput ipt)
Definition: ValueFederateExport.cpp:1320
helicsCore.h
Common functions for the HELICS C api.
helicsInputGetVectorSize
int helicsInputGetVectorSize(HelicsInput ipt)
Definition: ValueFederateExport.cpp:893
helicsPublicationGetName
const char * helicsPublicationGetName(HelicsPublication pub)
Definition: ValueFederateExport.cpp:1269
HelicsTime
double HelicsTime
Definition: api-data.h:100
helicsTypes.hpp
helics::ValueFederate::setFlagOption
virtual void setFlagOption(int flag, bool flagValue=true) override
Definition: ValueFederate.cpp:158
helicsInputLastUpdateTime
HelicsTime helicsInputLastUpdateTime(HelicsInput ipt)
Definition: ValueFederateExport.cpp:1560
helics::ValueFederate::clearUpdate
void clearUpdate(const Input &inp)
Definition: ValueFederate.cpp:655
helicsInputSetOption
void helicsInputSetOption(HelicsInput inp, int option, int value, HelicsError *err)
Definition: ValueFederateExport.cpp:1483
helics::ValueFederate::registerPublication
Publication & registerPublication(std::string_view name, std::string_view type, std::string_view units=std::string_view{})
Definition: ValueFederate.cpp:99
helics::ValueFederate::getSubscription
const Input & getSubscription(std::string_view target) const
Definition: ValueFederate.cpp:579
helics::ValueFederate::localQuery
virtual std::string localQuery(std::string_view queryStr) const override
Definition: ValueFederate.cpp:525
helicsPublicationPublishString
void helicsPublicationPublishString(HelicsPublication pub, const char *val, HelicsError *err)
Definition: ValueFederateExport.cpp:496
helicsInputGetName
const char * helicsInputGetName(HelicsInput ipt)
Definition: ValueFederateExport.cpp:1233
helicsInputGetBytes
void helicsInputGetBytes(HelicsInput ipt, void *data, int maxDataLength, int *actualSize, HelicsError *err)
Definition: ValueFederateExport.cpp:707
helics::ValueFederate::addAlias
void addAlias(const Input &inp, std::string_view shortcutName)
Definition: ValueFederate.cpp:144
helicsInputSetDefaultComplexVector
void helicsInputSetDefaultComplexVector(HelicsInput ipt, const double *vectorInput, int vectorLength, HelicsError *err)
Definition: ValueFederateExport.cpp:1133
helics::ValueFederate::addTarget
void addTarget(const Publication &pub, std::string_view target)
Definition: ValueFederate.cpp:134
helics::ValueFederate
Definition: application_api/ValueFederate.hpp:26
helicsInputSetDefaultNamedPoint
void helicsInputSetDefaultNamedPoint(HelicsInput ipt, const char *defaultName, double val, HelicsError *err)
Definition: ValueFederateExport.cpp:1158
helics::loadFederateInfo
FederateInfo loadFederateInfo(const std::string &configString)
Definition: FederateInfo.cpp:711
helicsPublicationIsValid
HelicsBool helicsPublicationIsValid(HelicsPublication pub)
Definition: ValueFederateExport.cpp:660
HelicsDataTypes
HelicsDataTypes
Definition: helics_enums.h:65
helicsFederateGetPublicationCount
int helicsFederateGetPublicationCount(HelicsFederate fed)
Definition: ValueFederateExport.cpp:1592
helicsPublicationPublishComplex
void helicsPublicationPublishComplex(HelicsPublication pub, double real, double imag, HelicsError *err)
Definition: ValueFederateExport.cpp:581
helicsInputIsValid
HelicsBool helicsInputIsValid(HelicsInput ipt)
Definition: ValueFederateExport.cpp:669
helicsInputSetDefaultInteger
void helicsInputSetDefaultInteger(HelicsInput ipt, int64_t val, HelicsError *err)
Definition: ValueFederateExport.cpp:1056
helicsPublicationAddTarget
void helicsPublicationAddTarget(HelicsPublication pub, const char *target, HelicsError *err)
Definition: ValueFederateExport.cpp:649
HelicsFederate
void * HelicsFederate
Definition: api-data.h:65
helicsInputSetDefaultComplex
void helicsInputSetDefaultComplex(HelicsInput ipt, double real, double imag, HelicsError *err)
Definition: ValueFederateExport.cpp:1103
helics::ValueFederate::ValueFederate
ValueFederate()
helics::Federate::localNameGenerator
std::string localNameGenerator(std::string_view addition) const
Definition: Federate.cpp:1441
helics::ValueFederate::queryUpdates
std::vector< int > queryUpdates()
Definition: ValueFederate.cpp:530
helics::Federate::currentMode
std::atomic< Modes > currentMode
the current state of the simulation
Definition: application_api/Federate.hpp:78
helics::Time
TimeRepresentation< count_time< 9 > > Time
Definition: helicsTime.hpp:27
helics::Federate::registerInterfaces
virtual void registerInterfaces(const std::string &configString)
Definition: Federate.cpp:946
helics::ValueFederate::getInput
const Input & getInput(std::string_view name) const
Definition: ValueFederate.cpp:540
helics::ValueFederate::setDefaultValue
void setDefaultValue(const Input &inp, data_view block)
Definition: ValueFederate.cpp:173
helicsInputGetTime
HelicsTime helicsInputGetTime(HelicsInput ipt, HelicsError *err)
Definition: ValueFederateExport.cpp:815
helics::Federate::logWarningMessage
void logWarningMessage(std::string_view message) const
Definition: application_api/Federate.hpp:728
HelicsInput
void * HelicsInput
Definition: api-data.h:26
helicsFederateGetInputCount
int helicsFederateGetInputCount(HelicsFederate fed)
Definition: ValueFederateExport.cpp:1602
helics::ValueFederate::registerSubscription
Input & registerSubscription(std::string_view target, std::string_view units=std::string_view{})
Definition: ValueFederate.cpp:127
helics::data_view
Definition: data_view.hpp:22
helics::Federate::nameSegmentSeparator
char nameSegmentSeparator
the separator between automatically prependend names
Definition: application_api/Federate.hpp:79
helicsPublicationGetInfo
const char * helicsPublicationGetInfo(HelicsPublication pub)
Definition: ValueFederateExport.cpp:1368
helicsFederateGetPublication
HelicsPublication helicsFederateGetPublication(HelicsFederate fed, const char *key, HelicsError *err)
Definition: ValueFederateExport.cpp:333
helics::getOptionIndex
int getOptionIndex(std::string val)
Definition: FederateInfo.cpp:408
helicsFederateRegisterTypePublication
HelicsPublication helicsFederateRegisterTypePublication(HelicsFederate fed, const char *key, const char *type, const char *units, HelicsError *err)
Definition: ValueFederateExport.cpp:98
helics::Federate::setFlagOption
virtual void setFlagOption(int flag, bool flagValue=true)
Definition: Federate.cpp:544
helicsFederateClearUpdates
void helicsFederateClearUpdates(HelicsFederate fed)
Definition: ValueFederateExport.cpp:466
helics::ValueFederate::getPublication
Publication & getPublication(std::string_view name)
Definition: ValueFederate.cpp:589
helicsFederatePublishJSON
void helicsFederatePublishJSON(HelicsFederate fed, const char *json, HelicsError *err)
Definition: ValueFederateExport.cpp:313
helics::getOptionValue
int getOptionValue(std::string val)
Definition: FederateInfo.cpp:427
helics::InvalidFunctionCall
Definition: core-exceptions.hpp:67
helics::ValueFederate::removeTarget
void removeTarget(const Publication &pub, std::string_view target)
Definition: ValueFederate.cpp:148
helics::ValueFederate::getInputCount
int getInputCount() const
Definition: ValueFederate.cpp:645
helics::InvalidParameter
Definition: core-exceptions.hpp:48
helicsFederateRegisterGlobalInput
HelicsPublication helicsFederateRegisterGlobalInput(HelicsFederate fed, const char *key, HelicsDataTypes type, const char *units, HelicsError *err)
Definition: ValueFederateExport.cpp:266
helicsPublicationPublishInteger
void helicsPublicationPublishInteger(HelicsPublication pub, int64_t val, HelicsError *err)
Definition: ValueFederateExport.cpp:510
helics::ValueFederate::registerFromPublicationJSON
void registerFromPublicationJSON(const std::string &jsonString)
Definition: ValueFederate.cpp:448
helicsInputGetChar
char helicsInputGetChar(HelicsInput ipt, HelicsError *err)
Definition: ValueFederateExport.cpp:833
helics::RegistrationFailure
Definition: core-exceptions.hpp:85
HelicsComplex
Definition: api-data.h:158
helics::CoreApp
Definition: application_api/CoreApp.hpp:25
helicsInputSetTag
void helicsInputSetTag(HelicsInput inp, const char *tagname, const char *tagvalue, HelicsError *err)
Definition: ValueFederateExport.cpp:1418
helics::fileops::isMember
bool isMember(const toml::value &element, const std::string &key)
Definition: TomlProcessingFunctions.hpp:155
helicsFederateGetInput
HelicsInput helicsFederateGetInput(HelicsFederate fed, const char *key, HelicsError *err)
Definition: ValueFederateExport.cpp:387
helicsInputGetPublicationDataType
int helicsInputGetPublicationDataType(HelicsInput ipt)
Definition: ValueFederateExport.cpp:1210
helicsFederateRegisterGlobalPublication
HelicsPublication helicsFederateRegisterGlobalPublication(HelicsFederate fed, const char *key, HelicsDataTypes type, const char *units, HelicsError *err)
Definition: ValueFederateExport.cpp:168
helics::ValueFederate::setInputNotificationCallback
void setInputNotificationCallback(std::function< void(Input &, Time)> callback)
Definition: ValueFederate.cpp:629
helicsInputGetType
const char * helicsInputGetType(HelicsInput ipt)
Definition: ValueFederateExport.cpp:1174
helics::FederateInfo
Definition: FederateInfo.hpp:24
helicsInputAddTarget
void helicsInputAddTarget(HelicsInput ipt, const char *target, HelicsError *err)
Definition: ValueFederateExport.cpp:678
helics::ValueFederate::isUpdated
bool isUpdated(const Input &inp) const
Definition: ValueFederate.cpp:501
helicsPublicationGetType
const char * helicsPublicationGetType(HelicsPublication pub)
Definition: ValueFederateExport.cpp:1215
helicsInputGetComplexVector
void helicsInputGetComplexVector(HelicsInput ipt, double data[], int maxLength, int *actualSize, HelicsError *err)
Definition: ValueFederateExport.cpp:952
helics::Federate::operator=
Federate & operator=(Federate &&fed) noexcept
Definition: Federate.cpp:192
helics::Federate::useJsonSerialization
bool useJsonSerialization
Definition: application_api/Federate.hpp:83
helics::ValueFederate::registerInput
Input & registerInput(std::string_view name, std::string_view type, std::string_view units=std::string_view{})
Definition: ValueFederate.cpp:113
helics::ValueFederate::publishBytes
void publishBytes(const Publication &pub, data_view block)
Definition: ValueFederate.cpp:416
helicsInputGetStringSize
int helicsInputGetStringSize(HelicsInput ipt)
Definition: ValueFederateExport.cpp:909
helicsInputGetDouble
double helicsInputGetDouble(HelicsInput ipt, HelicsError *err)
Definition: ValueFederateExport.cpp:800
helics::FederateInfo::useJsonSerialization
bool useJsonSerialization
Definition: FederateInfo.hpp:39
helicsPublicationPublishComplexVector
void helicsPublicationPublishComplexVector(HelicsPublication pub, const double *vectorInput, int vectorLength, HelicsError *err)
Definition: ValueFederateExport.cpp:613
helics::Federate::getID
auto getID() const noexcept
Definition: application_api/Federate.hpp:701
helics::Federate::Modes::INITIALIZING
@ INITIALIZING
helics::ValueFederate::updateTime
virtual void updateTime(Time newTime, Time oldTime) override
Definition: ValueFederate.cpp:511
helicsPublicationPublishTime
void helicsPublicationPublishTime(HelicsPublication pub, HelicsTime val, HelicsError *err)
Definition: ValueFederateExport.cpp:552
helicsFederateGetInputByIndex
HelicsInput helicsFederateGetInputByIndex(HelicsFederate fed, int index, HelicsError *err)
Definition: ValueFederateExport.cpp:413
helicsFederateRegisterPublication
HelicsPublication helicsFederateRegisterPublication(HelicsFederate fed, const char *key, HelicsDataTypes type, const char *units, HelicsError *err)
Definition: ValueFederateExport.cpp:118
helics::IterationResult
IterationResult
Definition: CoreTypes.hpp:83
helicsInputSetInfo
void helicsInputSetInfo(HelicsInput inp, const char *info, HelicsError *err)
Definition: ValueFederateExport.cpp:1352
helicsPublicationGetUnits
const char * helicsPublicationGetUnits(HelicsPublication pub)
Definition: ValueFederateExport.cpp:1325
helics::ValueFederate::publishJSON
void publishJSON(const std::string &jsonString)
Definition: ValueFederate.cpp:476
helicsInputSetDefaultDouble
void helicsInputSetDefaultDouble(HelicsInput ipt, double val, HelicsError *err)
Definition: ValueFederateExport.cpp:1074
helicsInputGetExtractionUnits
const char * helicsInputGetExtractionUnits(HelicsInput ipt)
Definition: ValueFederateExport.cpp:1303
helicsFederateGetSubscription
HelicsInput helicsFederateGetSubscription(HelicsFederate fed, const char *key, HelicsError *err)
Definition: ValueFederateExport.cpp:440
helics::ValueFederate::startupToInitializeStateTransition
virtual void startupToInitializeStateTransition() override
Definition: ValueFederate.cpp:516
helicsPublicationPublishNamedPoint
void helicsPublicationPublishNamedPoint(HelicsPublication pub, const char *field, double val, HelicsError *err)
Definition: ValueFederateExport.cpp:631
helicsFederateRegisterSubscription
HelicsInput helicsFederateRegisterSubscription(HelicsFederate fed, const char *key, const char *units, HelicsError *err)
Definition: ValueFederateExport.cpp:77
helics::ValueFederate::registerInterfaces
virtual void registerInterfaces(const std::string &configString) override
Definition: ValueFederate.cpp:178
helicsPublicationGetTag
const char * helicsPublicationGetTag(HelicsPublication pub, const char *tagname)
Definition: ValueFederateExport.cpp:1434
helicsSubscriptionGetTarget
const char * helicsSubscriptionGetTarget(HelicsInput ipt)
Definition: ValueFederateExport.cpp:1251
helicsInputGetTag
const char * helicsInputGetTag(HelicsInput inp, const char *tagname)
Definition: ValueFederateExport.cpp:1401
helicsInputGetPublicationType
const char * helicsInputGetPublicationType(HelicsInput ipt)
Definition: ValueFederateExport.cpp:1192
helicsFederateRegisterInput
HelicsInput helicsFederateRegisterInput(HelicsFederate fed, const char *key, HelicsDataTypes type, const char *units, HelicsError *err)
Definition: ValueFederateExport.cpp:215
helics::ValueFederate::forceCoreUpdate
bool forceCoreUpdate(Input &inp)
Definition: ValueFederate.cpp:411
HELICS_FLAG_USE_JSON_SERIALIZATION
@ HELICS_FLAG_USE_JSON_SERIALIZATION
Definition: helics_enums.h:137
helicsInputSetMinimumChange
void helicsInputSetMinimumChange(HelicsInput inp, double tolerance, HelicsError *err)
Definition: ValueFederateExport.cpp:1540
helicsPublicationSetTag
void helicsPublicationSetTag(HelicsPublication pub, const char *tagname, const char *tagvalue, HelicsError *err)
Definition: ValueFederateExport.cpp:1451
helics::Publication
Definition: Publications.hpp:25
helicsInputSetDefaultBytes
void helicsInputSetDefaultBytes(HelicsInput ipt, const void *data, int inputDataLength, HelicsError *err)
Definition: ValueFederateExport.cpp:1020
helicsInputClearUpdate
void helicsInputClearUpdate(HelicsInput ipt)
Definition: ValueFederateExport.cpp:1577
helicsInputGetInfo
const char * helicsInputGetInfo(HelicsInput inp)
Definition: ValueFederateExport.cpp:1335
helicsPublicationPublishChar
void helicsPublicationPublishChar(HelicsPublication pub, char val, HelicsError *err)
Definition: ValueFederateExport.cpp:567
helicsPublicationPublishDouble
void helicsPublicationPublishDouble(HelicsPublication pub, double val, HelicsError *err)
Definition: ValueFederateExport.cpp:538
helicsInputSetDefaultChar
void helicsInputSetDefaultChar(HelicsInput ipt, char val, HelicsError *err)
Definition: ValueFederateExport.cpp:1094
HelicsError
Definition: api-data.h:169
helicsFederateRegisterGlobalTypePublication
HelicsPublication helicsFederateRegisterGlobalTypePublication(HelicsFederate fed, const char *key, const char *type, const char *units, HelicsError *err)
Definition: ValueFederateExport.cpp:148
helicsInputGetByteCount
int helicsInputGetByteCount(HelicsInput ipt)
Definition: ValueFederateExport.cpp:688
helics
the main namespace for the helics co-simulation library User functions will be in the helics namespac...
Definition: AsyncFedCallInfo.hpp:14
helicsPublicationGetOption
int helicsPublicationGetOption(HelicsPublication pub, int option)
Definition: ValueFederateExport.cpp:1499
HelicsPublication
void * HelicsPublication
Definition: api-data.h:31
helics::ValueFederate::initializeToExecuteStateTransition
virtual void initializeToExecuteStateTransition(IterationResult result) override
Definition: ValueFederate.cpp:520
helicsFederateRegisterTypeInput
HelicsInput helicsFederateRegisterTypeInput(HelicsFederate fed, const char *key, const char *type, const char *units, HelicsError *err)
Definition: ValueFederateExport.cpp:196
helicsFederateRegisterGlobalTypeInput
HelicsPublication helicsFederateRegisterGlobalTypeInput(HelicsFederate fed, const char *key, const char *type, const char *units, HelicsError *err)
Definition: ValueFederateExport.cpp:246
helicsFederateRegisterFromPublicationJSON
void helicsFederateRegisterFromPublicationJSON(HelicsFederate fed, const char *json, HelicsError *err)
Definition: ValueFederateExport.cpp:296
helicsPublicationSetMinimumChange
void helicsPublicationSetMinimumChange(HelicsPublication pub, double tolerance, HelicsError *err)
Definition: ValueFederateExport.cpp:1531
helicsInputGetBoolean
HelicsBool helicsInputGetBoolean(HelicsInput ipt, HelicsError *err)
Definition: ValueFederateExport.cpp:782
helics::ValueFederate::operator=
ValueFederate & operator=(ValueFederate &&fed) noexcept
Definition: ValueFederate.cpp:89
helicsInputGetComplexObject
HelicsComplex helicsInputGetComplexObject(HelicsInput ipt, HelicsError *err)
Definition: ValueFederateExport.cpp:872
helics::ValueFederate::registerValueInterfaces
void registerValueInterfaces(const std::string &configString)
Definition: ValueFederate.cpp:184
helicsPublicationSetInfo
void helicsPublicationSetInfo(HelicsPublication pub, const char *info, HelicsError *err)
Definition: ValueFederateExport.cpp:1385
helicsPublicationSetOption
void helicsPublicationSetOption(HelicsPublication pub, int option, int val, HelicsError *err)
Definition: ValueFederateExport.cpp:1515
helicsPublicationPublishVector
void helicsPublicationPublishVector(HelicsPublication pub, const double *vectorInput, int vectorLength, HelicsError *err)
Definition: ValueFederateExport.cpp:595
helicsInputSetDefaultString
void helicsInputSetDefaultString(HelicsInput ipt, const char *defaultString, HelicsError *err)
Definition: ValueFederateExport.cpp:1040
helics::ValueFederate::clearUpdates
void clearUpdates()
Definition: ValueFederate.cpp:650
helics::ValueFederate::getPublicationCount
int getPublicationCount() const
Definition: ValueFederate.cpp:640
helics::Federate
Definition: application_api/Federate.hpp:48
helicsInputGetInteger
int64_t helicsInputGetInteger(HelicsInput ipt, HelicsError *err)
Definition: ValueFederateExport.cpp:767
helicsInputSetDefaultTime
void helicsInputSetDefaultTime(HelicsInput ipt, HelicsTime val, HelicsError *err)
Definition: ValueFederateExport.cpp:1083
helicsInputGetString
void helicsInputGetString(HelicsInput ipt, char *outputString, int maxStringLength, int *actualLength, HelicsError *err)
Definition: ValueFederateExport.cpp:741
helics::ValueFederate::getTarget
const std::string & getTarget(const Input &inp) const
Definition: ValueFederate.cpp:535
helicsPublicationPublishBytes
void helicsPublicationPublishBytes(HelicsPublication pub, const void *data, int inputDataLength, HelicsError *err)
Definition: ValueFederateExport.cpp:482
helics::ValueFederate::registerGlobalInput
Input & registerGlobalInput(std::string_view name, std::string_view type, std::string_view units=std::string_view{})
Definition: ValueFederate.cpp:120
helicsInputGetInjectionUnits
const char * helicsInputGetInjectionUnits(HelicsInput ipt)
Definition: ValueFederateExport.cpp:1286
helicsInputIsUpdated
HelicsBool helicsInputIsUpdated(HelicsInput ipt)
Definition: ValueFederateExport.cpp:1549
helicsInputGetNamedPoint
void helicsInputGetNamedPoint(HelicsInput ipt, char *outputString, int maxStringLength, int *actualLength, double *val, HelicsError *err)
Definition: ValueFederateExport.cpp:979
helicsInputGetComplex
void helicsInputGetComplex(HelicsInput ipt, double *real, double *imag, HelicsError *err)
Definition: ValueFederateExport.cpp:850
helics::ValueFederate::getBytes
data_view getBytes(const Input &inp)
Definition: ValueFederate.cpp:406
helicsInputGetOption
int helicsInputGetOption(HelicsInput inp, int option)
Definition: ValueFederateExport.cpp:1467
helicsInputGetVector
void helicsInputGetVector(HelicsInput ipt, double data[], int maxLength, int *actualSize, HelicsError *err)
Definition: ValueFederateExport.cpp:925
helicsFederateGetPublicationByIndex
HelicsPublication helicsFederateGetPublicationByIndex(HelicsFederate fed, int index, HelicsError *err)
Definition: ValueFederateExport.cpp:358
helics::Federate::coreObject
std::shared_ptr< Core > coreObject
reference to the core simulation API
Definition: application_api/Federate.hpp:90
helicsInputSetDefaultVector
void helicsInputSetDefaultVector(HelicsInput ipt, const double *vectorInput, int vectorLength, HelicsError *err)
Definition: ValueFederateExport.cpp:1113
HelicsBool
int HelicsBool
Definition: api-data.h:112
helicsInputSetDefaultBoolean
void helicsInputSetDefaultBoolean(HelicsInput ipt, HelicsBool val, HelicsError *err)
Definition: ValueFederateExport.cpp:1065
helics::Federate::Modes::EXECUTING
@ EXECUTING
helicsPublicationPublishBoolean
void helicsPublicationPublishBoolean(HelicsPublication pub, HelicsBool val, HelicsError *err)
Definition: ValueFederateExport.cpp:524
helics::ValueFederate::registerGlobalPublication
Publication & registerGlobalPublication(std::string_view name, std::string_view type, std::string_view units=std::string_view{})
Definition: ValueFederate.cpp:106
helics::Federate::disconnect
virtual void disconnect()
Definition: Federate.cpp:653