helics
3.5.2
|
#include <ValueFederate.hpp>
Public Member Functions | |
ValueFederate (const std::string &fedName, FederateInfo &fi) | |
ValueFederate (const std::string &configString) | |
ValueFederate (const ValueFederate &vfed) | |
ValueFederate & | operator= (const ValueFederate &fedObj) |
ValueFederate () HELICS_NOTHROW | |
Publication | registerPublication (const std::string &name, const std::string &type, const std::string &units="") |
Publication | registerPublication (const std::string &name, HelicsDataTypes type, const std::string &units="") |
Publication | registerGlobalPublication (const std::string &name, const std::string &type, const std::string &units="") |
Publication | registerGlobalPublication (const std::string &key, HelicsDataTypes type, const std::string &units="") |
Publication | registerIndexedPublication (const std::string &key, int index1, HelicsDataTypes type, const std::string &units="") |
Publication | registerIndexedPublication (const std::string &key, int index1, int index2, HelicsDataTypes type, const std::string &units=std::string()) |
Publication | registerPublicationIndexed (const std::string &key, int index1, HelicsDataTypes type, const std::string &units="") |
Publication | registerPublicationIndexed (const std::string &key, int index1, int index2, HelicsDataTypes type, const std::string &units=std::string()) |
void | registerFromPublicationJSON (const std::string &json) |
Publication | getPublication (const std::string &name) |
Publication | getPublication (int index) |
Input | registerSubscription (const std::string &name, const std::string &units=std::string()) |
Input | registerIndexedSubscription (const std::string &name, int index1, const std::string &units="") |
Input | registerIndexedSubscription (const std::string &name, int index1, int index2, const std::string &units="") |
Input | registerSubscriptionIndexed (const std::string &name, int index1, const std::string &units="") |
Input | registerSubscriptionIndexed (const std::string &name, int index1, int index2, const std::string &units="") |
Input | registerInput (const std::string &name, const std::string &type, const std::string &units="") |
Input | registerInput (const std::string &name, HelicsDataTypes type, const std::string &units="") |
Input | registerGlobalInput (const std::string &name, const std::string &type, const std::string &units="") |
Input | registerGlobalInput (const std::string &key, HelicsDataTypes type, const std::string &units="") |
Input | registerIndexedInput (const std::string &key, int index1, HelicsDataTypes type, const std::string &units="") |
Input | registerIndexedInput (const std::string &key, int index1, int index2, HelicsDataTypes type, const std::string &units=std::string()) |
Input | getInput (const std::string &name) |
Input | getInputByTarget (const std::string &target) |
Input | getInput (int index) |
int | getInputCount () const |
int | getPublicationCount () const |
std::vector< HelicsInput > | queryUpdates () |
void | clearUpdates () |
void | publishJSON (const std::string &json) |
Public Member Functions inherited from helicscpp::Federate | |
Federate () HELICS_NOTHROW | |
Default constructor. | |
Federate (const Federate &fedObj) | |
Copy constructor. | |
Federate & | operator= (const Federate &fedObj) |
Copy assignment operator. | |
virtual | ~Federate () |
operator HelicsFederate () const | |
HelicsFederate | baseObject () const |
void | setFlagOption (int flag, bool flagValue=true) |
void | setProperty (int tProperty, HelicsTime timeValue) |
void | setProperty (int intProperty, int value) |
bool | getFlagOption (int flag) const |
HelicsTime | getTimeProperty (int tProperty) const |
int | getIntegerProperty (int intProperty) const |
void | setSeparator (char sep) |
void | registerInterfaces (const std::string &configString) |
HelicsFederateState | getCurrentMode () const |
bool | isAsyncOperationCompleted () const |
void | enterInitializingMode () |
void | enterInitializingModeAsync () |
void | enterInitializingModeComplete () |
void | enterInitializingModeIterative () |
void | enterInitializingModeIterativeAsync () |
void | enterInitializingModeIterativeComplete () |
HelicsIterationResult | enterExecutingMode (HelicsIterationRequest iterate=HELICS_ITERATION_REQUEST_NO_ITERATION) |
void | enterExecutingModeAsync (HelicsIterationRequest iterate=HELICS_ITERATION_REQUEST_NO_ITERATION) |
HelicsIterationResult | enterExecutingModeComplete () |
void | finalize () |
void | finalizeAsync () |
void | finalizeComplete () |
HelicsTime | getCurrentTime () |
HelicsTime | requestTime (HelicsTime time) |
HelicsTime | requestNextStep () |
HelicsTime | requestTimeAdvance (HelicsTime timeDelta) |
HelicsIterationTime | requestTimeIterative (HelicsTime time, HelicsIterationRequest iterate) |
void | requestTimeAsync (HelicsTime time) |
void | requestTimeIterativeAsync (HelicsTime time, HelicsIterationRequest iterate) |
HelicsTime | requestTimeComplete () |
HelicsIterationTime | requestTimeIterativeComplete () |
void | processCommunication (HelicsTime period) |
const char * | getName () const |
void | protect () |
void | unProtect () |
std::string | query (const std::string &target, const std::string &queryStr, HelicsSequencingModes mode=HELICS_SEQUENCING_MODE_FAST) const |
std::string | query (const std::string &queryStr, HelicsSequencingModes mode=HELICS_SEQUENCING_MODE_FAST) const |
void | sendCommand (const std::string &target, const std::string &cmd) |
const char * | getCommand () |
const char * | waitCommand () |
const char * | getCommandSource () |
void | setQueryCallback (void(*queryAnswer)(const char *query, int querySize, HelicsQueryBuffer, void *userdata), void *userdata) |
void | setTimeRequestEntryCallback (void(*timeRequestEntry)(HelicsTime currentTime, HelicsTime requestTime, HelicsBool iterating, void *userdata), void *userdata) |
void | setTimeUpdateCallback (void(*timeUpdate)(HelicsTime time, HelicsBool iterating, void *userdata), void *userdata) |
void | setStateChangeCallback (void(*stateChange)(HelicsFederateState newState, HelicsFederateState oldState, void *userdata), void *userdata) |
void | setTimeRequestReturnCallback (void(*timeRequestReturn)(HelicsTime newTime, HelicsBool iterating, void *userdata), void *userdata) |
Filter | registerFilter (HelicsFilterTypes type, const std::string &filterName=std::string()) |
CloningFilter | registerCloningFilter (const std::string &deliveryEndpoint) |
Filter | registerGlobalFilter (HelicsFilterTypes type, const std::string &filterName=std::string()) |
CloningFilter | registerGlobalCloningFilter (const std::string &deliveryEndpoint) |
int | getFilterCount () const |
Filter | getFilter (const std::string &filterName) |
Filter | getFilter (int index) |
void | setGlobal (const std::string &valueName, const std::string &value) |
void | addAlias (const std::string &interfaceName, const std::string &alias) |
void | setTag (const std::string &tag, const std::string &value) |
const char * | getTag (const std::string &tag) const |
void | addDependency (const std::string &fedName) |
void | localError (int errorCode, const std::string &errorString) |
void | globalError (int errorCode, const std::string &errorString) |
void | logErrorMessage (const std::string &message) |
void | logWarningMessage (const std::string &message) |
void | logInfoMessage (const std::string &message) |
void | logDebugMessage (const std::string &message) |
void | logMessage (int level, const std::string &message) |
HelicsCore | getCore () |
HelicsFederate | getObject () const |
Friends | |
class | helicscpp::FederateInfo |
Additional Inherited Members | |
Protected Attributes inherited from helicscpp::Federate | |
HelicsFederate | fed |
underlying HelicsFederate object | |
bool | exec_async_iterate |
indicator that the federate is in an async operation | |
Class defining a ValueFederate object which interacts with publication and Inputs
|
inlineexplicit |
constructor taking a federate information structure and using the default core
fedName | the name of the federate, can be empty to use the name from fi or an auto generated one |
fi | a federate information structure |
References helicscpp::Federate::fed, helicscpp::FederateInfo::getInfo(), HELICS_ERROR_REGISTRATION_FAILURE, and helicsCreateValueFederate().
|
inlineexplicit |
constructor taking a string with the required information
configString | can be either a JSON file, a TOML file (with extension TOML), or a string containing JSON code |
References helicscpp::Federate::fed, HELICS_ERROR_REGISTRATION_FAILURE, and helicsCreateValueFederateFromConfig().
|
inline |
copy constructor
|
inline |
Default constructor, not meant to be used
|
inline |
clear all the update flags from all federate inputs
References helicscpp::Federate::fed, and helicsFederateClearUpdates().
|
inline |
get an input by name
References helicscpp::Federate::fed, and helicsFederateGetInput().
|
inline |
get an input by index
References helicscpp::Federate::fed, and helicsFederateGetInputByIndex().
|
inline |
get an input by target
References helicscpp::Federate::fed, and helicsFederateGetInputByTarget().
|
inline |
get the number of inputs in this federate
References helicscpp::Federate::fed, and helicsFederateGetInputCount().
|
inline |
get publication by name
References helicscpp::Federate::fed, and helicsFederateGetPublication().
|
inline |
get a publication by index
index | a 0 based index of the publication to retrieve |
References helicscpp::Federate::fed, and helicsFederateGetPublicationByIndex().
|
inline |
get the number of publications in this federate
References helicscpp::Federate::fed, and helicsFederateGetPublicationCount().
|
inline |
copy assignment operator
References helicscpp::Federate::fed, HELICS_ERROR_REGISTRATION_FAILURE, and helicscpp::Federate::operator=().
|
inline |
publish data contained in a JSON file
References helicscpp::Federate::fed, and helicsFederatePublishJSON().
|
inline |
Get a list of all inputs with updates since the last call
|
inline |
register publications from a JSON output file or string
generates interface based on the data contained in a JSON file or string
References helicscpp::Federate::fed, and helicsFederateRegisterFromPublicationJSON().
|
inline |
register an input
call is only valid in startup mode
key | the name of the input |
type | an enumeration value describing the type of the input |
units | a string defining the units of the input [optional] |
References helicscpp::Federate::fed, and helicsFederateRegisterGlobalInput().
|
inline |
register an input
call is only valid in startup mode
name | the name of the input |
type | a string defining the type of the input |
units | a string defining the units of the input [optional] |
References helicscpp::Federate::fed, and helicsFederateRegisterGlobalTypeInput().
Referenced by registerIndexedInput().
|
inline |
register a publication
call is only valid in startup mode
key | the name of the publication |
type | an enumeration value describing the type of the publication |
units | a string defining the units of the publication [optional] |
References helicscpp::Federate::fed, and helicsFederateRegisterGlobalPublication().
|
inline |
register a publication
call is only valid in startup mode
name | the name of the publication |
type | a string defining the type of the publication |
units | a string defining the units of the publication [optional] |
References helicscpp::Federate::fed, and helicsFederateRegisterGlobalTypePublication().
Referenced by registerIndexedPublication().
|
inline |
register an input as part of an indexed structure
call is only valid in startup mode by default prepends the name with the federate name the name is registered as a global structure with the index appended
key | the name of the input to register |
index1 | an index associated with the input |
type | an enumeration value describing the type of the input |
units | the optional units of the input |
References registerGlobalInput().
|
inline |
register an input as part of a 2 dimensional indexed structure
call is only valid in startup mode by default prepends the name with the federate name the name is registered as a global structure with the indices appended
key | the base name of the input |
index1 | an index associated with the input |
index2 | a second index |
type | an enumeration value describing the type of the input |
units | the optional units of the input |
References registerGlobalInput().
|
inline |
register a publication as part of an indexed structure
call is only valid in startup mode by default prepends the name with the federate name the name is registered as a global structure with the index appended
key | the name of the publication to register |
index1 | an index associated with the publication |
type | an enumeration value describing the type of the publication |
units | the optional units of the publication |
References registerGlobalPublication().
Referenced by registerPublicationIndexed().
|
inline |
register a publication as part of a 2 dimensional indexed structure
call is only valid in startup mode by default prepends the name with the federate name the name is registered as a global structure with the indices appended
key | the base name of the publication |
index1 | an index associated with the publication |
index2 | a second index |
type | an enumeration value describing the type of the publication |
units | the optional units of the publication |
References registerGlobalPublication().
|
inline |
register a !D indexed subscription
name | the base name of the publication to subscribe to |
index1 | the first index of the value to subscribe to |
units | a string containing the requested units of the subscription output |
References registerSubscription().
Referenced by registerSubscriptionIndexed().
|
inline |
register a 2D indexed subscription
name | the base name of the publication to subscribe to |
index1 | the first index of the value to subscribe to |
index2 | the second index of the value to subscribe to |
units | a string containing the requested units of the subscription output |
References registerSubscription().
|
inline |
register an input
call is only valid in startup mode
name | the name of the input |
type | a string defining the type of the input |
units | a string defining the units of the input [optional] |
References helicscpp::Federate::fed, and helicsFederateRegisterTypeInput().
|
inline |
register an input
call is only valid in startup mode by default prepends the name with the federate name
name | the name of the input |
type | the type of input to register |
units | the optional units of the input |
References helicscpp::Federate::fed, and helicsFederateRegisterPublication().
|
inline |
Methods to register publications register a publication
call is only valid in startup mode
name | the name of the publication |
type | a string defining the type of the publication |
units | a string defining the units of the publication [optional] |
References helicscpp::Federate::fed, and helicsFederateRegisterTypePublication().
|
inline |
register a publication
call is only valid in startup mode by default prepends the name with the federate name
name | the name of the publication |
type | the type of publication to register |
units | the optional units of the publication |
References helicscpp::Federate::fed, and helicsFederateRegisterPublication().
|
inline |
register a publication as part of an indexed structure
call is only valid in startup mode by default prepends the name with the federate name the name is registered as a global structure with the index appended
key | the name of the publication to register |
index1 | an index associated with the publication |
type | an enumeration value describing the type of the publication |
units | the optional units of the publication |
References registerIndexedPublication().
|
inline |
register a publication as part of a 2 dimensional indexed structure
call is only valid in startup mode by default prepends the name with the federate name the name is registered as a global structure with the indices appended
key | the base name of the publication |
index1 | an index associated with the publication |
index2 | a second index |
type | an enumeration value describing the type of the publication |
units | the optional units of the publication |
References registerIndexedPublication().
|
inline |
Methods to register subscriptions
References helicscpp::Federate::fed, and helicsFederateRegisterSubscription().
Referenced by registerIndexedSubscription().
|
inline |
register a !D indexed subscription
name | the base name of the publication to subscribe to |
index1 | the first index of the value to subscribe to |
units | a string containing the requested units of the subscription output |
References registerIndexedSubscription().
|
inline |
register a 2D indexed subscription
name | the base name of the publication to subscribe to |
index1 | the first index of the value to subscribe to |
index2 | the second index of the value to subscribe to |
units | a string containing the requested units of the subscription output |
References registerIndexedSubscription().