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 hid, int32_t option, int32_t value);
75 bool setEndpointProperty(
InterfaceHandle hid, int32_t option, int32_t value);
78 int32_t getPublicationProperty(
InterfaceHandle hid, int32_t option)
const;
95 std::atomic<GlobalFederateId> global_id;
97 bool only_update_on_change{
false};
99 gmlc::containers::DualMappedPointerVector<PublicationInfo, std::string, InterfaceHandle>>
102 gmlc::containers::DualMappedPointerVector<EndpointInfo, std::string, InterfaceHandle>>
105 gmlc::containers::DualMappedPointerVector<InputInfo, std::string, InterfaceHandle>>
Definition: application_api/Federate.hpp:27
Definition: EndpointInfo.hpp:32
Definition: GlobalFederateId.hpp:75
Definition: LocalFederateId.hpp:65
Definition: InterfaceInfo.hpp:26
std::vector< std::pair< int, std::string > > checkInterfacesForIssues()
Definition: InterfaceInfo.cpp:235
bool getChangeUpdateFlag() const
Definition: InterfaceInfo.hpp:71
void getUnconnectedInterfaces(Json::Value &base) const
Definition: InterfaceInfo.cpp:329
int32_t getInputProperty(InterfaceHandle hid, int32_t option) const
Definition: InterfaceInfo.cpp:208
void disconnectFederate(GlobalFederateId fedToDisconnect, Time disconnectTime)
Definition: InterfaceInfo.cpp:513
void generateInferfaceConfig(Json::Value &base) const
Definition: InterfaceInfo.cpp:388
void setGlobalId(GlobalFederateId newglobalId)
Definition: InterfaceInfo.hpp:67
void generateDataFlowGraph(Json::Value &base) const
Definition: InterfaceInfo.cpp:445
void reset()
Definition: InterfaceInfo.cpp:21
bool setInputProperty(InterfaceHandle hid, int32_t option, int32_t value)
Definition: InterfaceInfo.cpp:177
void setChangeUpdateFlag(bool updateFlag)
Definition: InterfaceInfo.cpp:106
Definition: PublicationInfo.hpp:27
the main namespace for the helics co-simulation library User functions will be in the helics namespac...
Definition: AsyncFedCallInfo.hpp:14
TimeRepresentation< count_time< 9 > > Time
Definition: helicsTime.hpp:27