 |
helics
3.0.1
|
9 #include "../core/CoreTypes.hpp"
10 #include "../core/helicsTime.hpp"
11 #include "helics_cxx_export.h"
33 explicit BrokerApp(std::vector<std::string> args);
44 BrokerApp(
CoreType ctype,
const std::string& broker_name, std::vector<std::string> args);
66 explicit BrokerApp(
const std::string& argString);
77 BrokerApp(
CoreType ctype,
const std::string& brokerName,
const std::string& argString);
80 explicit BrokerApp(std::shared_ptr<Broker> brk);
83 bool isConnected()
const;
88 bool isOpenToNewFederates()
const;
91 void forceTerminate();
93 bool waitForDisconnect(std::chrono::milliseconds waitTime = std::chrono::milliseconds(0));
95 void linkEndpoints(
const std::string& source,
const std::string& target);
97 void dataLink(
const std::string& source,
const std::string& target);
99 void addSourceFilterToEndpoint(
const std::string& filter,
const std::string& endpoint);
101 void addDestinationFilterToEndpoint(
const std::string& filter,
const std::string& endpoint);
103 void makeConnections(
const std::string& file);
105 const std::string& getIdentifier()
const;
107 const std::string& getAddress()
const;
116 std::string query(
const std::string& target,
117 const std::string& queryStr,
126 void setGlobal(
const std::string& valueName,
const std::string& value);
136 void sendCommand(
const std::string& target,
137 const std::string& commandStr,
141 void setLogFile(
const std::string& logFile);
143 void setLoggingLevel(
int loglevel);
146 #ifdef HELICS_CXX_STATIC_DEFINE
149 auto* operator->()
const {
return broker.operator->(); }
152 const BrokerApp* operator->()
const {
return this; }
158 void setTimeBarrier(
Time barrierTime);
160 void clearTimeBarrier();
162 void globalError(int32_t errorCode,
const std::string& errorString);
165 void processArgs(std::unique_ptr<helicsCLI11App>& app);
166 std::unique_ptr<helicsCLI11App> generateParser(
bool noTypeOption =
false);
167 std::shared_ptr<Broker> broker;
174 template<
class... Args>
175 explicit BrokerKeeper(Args&&... args): brk(std::forward<Args...>(args...))
void forceTerminate()
Force terminate the broker.
Definition: application_api/BrokerApp.hpp:185
@ MULTI
use the multi-broker
std::shared_ptr< Broker > getCopyofBrokerPointer() const
Definition: application_api/BrokerApp.hpp:155
bool isConnected() const
Definition: BrokerApp.cpp:148
CoreType
Definition: CoreTypes.hpp:36
std::shared_ptr< Broker > findBroker(const std::string &brokerName)
Definition: BrokerFactory.cpp:182
bool isOpenToNewFederates() const
Definition: BrokerApp.cpp:158
void dataLink(const std::string &source, const std::string &target)
Definition: BrokerApp.cpp:180
CoreType coreTypeFromString(std::string type) noexcept
Definition: typeOperations.cpp:17
void clearTimeBarrier()
Definition: BrokerApp.cpp:259
void setLogFile(const std::string &logFile)
Definition: BrokerApp.cpp:274
TimeRepresentation< count_time< 9 > > Time
Definition: helicsTime.hpp:27
Definition: application_api/BrokerApp.hpp:26
const std::string & getIdentifier() const
Definition: BrokerApp.cpp:210
void sendCommand(const std::string &target, const std::string &commandStr, HelicsSequencingModes mode=HELICS_SEQUENCING_MODE_FAST)
Definition: BrokerApp.cpp:236
void displayHelp(CoreType type)
Definition: BrokerFactory.cpp:317
@ DEFAULT
ZMQ if available or UDP.
void linkEndpoints(const std::string &source, const std::string &target)
Definition: BrokerApp.cpp:173
void globalError(int32_t errorCode, const std::string &errorString)
Definition: BrokerApp.cpp:266
Definition: core-exceptions.hpp:84
std::string query(const std::string &target, const std::string &queryStr, HelicsSequencingModes mode=HELICS_SEQUENCING_MODE_FAST)
Definition: BrokerApp.cpp:222
bool waitForDisconnect(std::chrono::milliseconds waitTime=std::chrono::milliseconds(0))
Definition: BrokerApp.cpp:101
~BrokerKeeper()
the destructor waits for the broker to terminate
Definition: application_api/BrokerApp.hpp:187
void reset()
Definition: BrokerApp.cpp:281
void forceTerminate()
Definition: BrokerApp.cpp:163
void addDestinationFilterToEndpoint(const std::string &filter, const std::string &endpoint)
Definition: BrokerApp.cpp:194
HelicsSequencingModes
Definition: helics_enums.h:363
void setTimeBarrier(Time barrierTime)
Definition: BrokerApp.cpp:252
void setLoggingLevel(int loglevel)
Definition: BrokerApp.cpp:245
bool connect()
Definition: BrokerApp.cpp:153
the main namespace for the helics co-simulation library User functions will be in the helics namespac...
Definition: AsyncFedCallInfo.hpp:14
bool isConnected()
is the broker connected
Definition: application_api/BrokerApp.hpp:183
@ HELICS_SEQUENCING_MODE_FAST
Definition: helics_enums.h:365
void setGlobal(const std::string &valueName, const std::string &value)
Definition: BrokerApp.cpp:229
const std::string & getAddress() const
Definition: BrokerApp.cpp:216
std::shared_ptr< Broker > create(CoreType type, const std::string &configureString)
Definition: BrokerFactory.cpp:98
Definition: application_api/BrokerApp.hpp:172
void makeConnections(const std::string &file)
Definition: BrokerApp.cpp:202
void addSourceFilterToEndpoint(const std::string &filter, const std::string &endpoint)
Definition: BrokerApp.cpp:187