 |
helics
3.3.0
|
Go to the documentation of this file.
8 #include "../common/GuardedTypes.hpp"
9 #include "EndpointInfo.hpp"
10 #include "FederateIdExtra.hpp"
11 #include "InputInfo.hpp"
12 #include "PublicationInfo.hpp"
13 #include "gmlc/containers/DualMappedPointerVector.hpp"
15 #include "json/forwards.h"
29 const PublicationInfo* getPublication(
const std::string& pubName)
const;
33 const InputInfo* getInput(
const std::string& inputName)
const;
35 InputInfo* getInput(
const std::string& inputName);
37 const EndpointInfo* getEndpoint(
const std::string& endpointName)
const;
39 EndpointInfo* getEndpoint(
const std::string& endpointName);
44 std::string_view type,
45 std::string_view units,
49 std::string_view type,
50 std::string_view units,
53 std::string_view endpointName,
54 std::string_view type,
57 auto getEndpoints() {
return endpoints.lock(); }
58 auto getPublications() {
return publications.lock(); }
59 auto getInputs() {
return inputs.lock(); }
60 auto getEndpoints()
const {
return endpoints.lock_shared(); }
61 auto getPublications()
const {
return publications.lock_shared(); }
62 auto getInputs()
const {
return inputs.lock_shared(); }
63 auto cgetEndpoints()
const {
return endpoints.lock_shared(); }
64 auto cgetPublications()
const {
return publications.lock_shared(); }
65 auto cgetInputs()
const {
return inputs.lock_shared(); }
74 bool setPublicationProperty(
InterfaceHandle id, int32_t option, int32_t value);
75 bool setEndpointProperty(
InterfaceHandle id, int32_t option, int32_t value);
78 int32_t getPublicationProperty(
InterfaceHandle id, int32_t option)
const;
89 std::atomic<GlobalFederateId> global_id;
90 bool only_update_on_change{
93 gmlc::containers::DualMappedPointerVector<PublicationInfo, std::string, InterfaceHandle>>
96 gmlc::containers::DualMappedPointerVector<EndpointInfo, std::string, InterfaceHandle>>
99 gmlc::containers::DualMappedPointerVector<InputInfo, std::string, InterfaceHandle>>
@ targeted_flag
flag indicating an endpoint is targeted
Definition: flagOperations.hpp:57
@ optional_flag
flag indicating that a connection is optional and may not be matched
Definition: flagOperations.hpp:53
Definition: InterfaceInfo.hpp:26
Definition: EndpointInfo.hpp:32
base helics enumerations for C++ API's, a namespace wrapper for the definitions defined in helics_enu...
Definition: LocalFederateId.hpp:65
void GenerateDataFlowGraph(Json::Value &base) const
Definition: InterfaceInfo.cpp:371
Definition: GlobalFederateId.hpp:72
@ only_transmit_on_change_flag
indicator that the interface should only transmit on change
Definition: flagOperations.hpp:62
int32_t getInputProperty(InterfaceHandle id, int32_t option) const
Definition: InterfaceInfo.cpp:193
@ only_update_on_change_flag
flag indicating that the values should only be updated on change
Definition: flagOperations.hpp:49
bool getChangeUpdateFlag() const
Definition: InterfaceInfo.hpp:71
@ single_connection_flag
flag indicating that the interface accepts only a single connection
Definition: flagOperations.hpp:47
void setGlobalId(GlobalFederateId newglobalId)
Definition: InterfaceInfo.hpp:67
void setChangeUpdateFlag(bool updateFlag)
Definition: InterfaceInfo.cpp:91
the main namespace for the helics co-simulation library User functions will be in the helics namespac...
Definition: AsyncFedCallInfo.hpp:14
void generateInferfaceConfig(Json::Value &base) const
Definition: InterfaceInfo.cpp:314
Definition: PublicationInfo.hpp:18
@ buffer_data_flag
indicator that the target is a destination target
Definition: flagOperations.hpp:41
bool checkActionFlag(uint16_t flags, FlagIndex flag)
Definition: flagOperations.hpp:138
bool setInputProperty(InterfaceHandle id, int32_t option, int32_t value)
Definition: InterfaceInfo.cpp:162
@ required_flag
flag indicating that an action or match is required
Definition: flagOperations.hpp:45
Definition: application_api/Federate.hpp:28
std::vector< std::pair< int, std::string > > checkInterfacesForIssues()
Definition: InterfaceInfo.cpp:220