helics  3.3.0
application_api/CombinationFederate.hpp
1 /*
2 Copyright (c) 2017-2022,
3 Battelle Memorial Institute; Lawrence Livermore National Security, LLC; Alliance for Sustainable
4 Energy, LLC. See the top-level NOTICE for additional details. All rights reserved.
5 SPDX-License-Identifier: BSD-3-Clause
6 */
7 #pragma once
8 
9 #include "MessageFederate.hpp"
10 #include "ValueFederate.hpp"
11 #include "helicsTypes.hpp"
12 
13 #include <memory>
14 #include <string>
15 
16 namespace helics {
18 class HELICS_CXX_EXPORT CombinationFederate: public ValueFederate, public MessageFederate {
19  public:
22 
27  explicit CombinationFederate(std::string_view fedName, const FederateInfo& fi);
28 
34  CombinationFederate(std::string_view fedName,
35  const std::shared_ptr<Core>& core,
36  const FederateInfo& fi = FederateInfo{});
37 
43  CombinationFederate(std::string_view fedName,
44  CoreApp& core,
45  const FederateInfo& fi = FederateInfo{});
46 
52  CombinationFederate(std::string_view fedName, const std::string& configString);
53 
58  explicit CombinationFederate(const std::string& configString);
59 
63  virtual ~CombinationFederate();
65  CombinationFederate& operator=(CombinationFederate&& fed) noexcept;
67  CombinationFederate(const CombinationFederate& fed) = delete;
69  CombinationFederate& operator=(const CombinationFederate& fed) = delete;
70  virtual void setFlagOption(int flagIndex, bool flagValue = true) override;
71  virtual void disconnect() override;
72 
73  protected:
74  virtual void updateTime(Time newTime, Time oldTime) override;
75  virtual void startupToInitializeStateTransition() override;
76  virtual void initializeToExecuteStateTransition(IterationResult result) override;
77  virtual std::string localQuery(std::string_view queryStr) const override;
78 
79  public:
80  virtual void registerInterfaces(const std::string& configString) override;
81 };
82 } // namespace helics
helicsTypes.hpp
helics::MessageFederate::disconnect
virtual void disconnect() override
Definition: MessageFederate.cpp:84
helics::ValueFederate::setFlagOption
virtual void setFlagOption(int flag, bool flagValue=true) override
Definition: ValueFederate.cpp:158
ZmqContextManager
Definition: ZmqContextManager.h:32
helics::ValueFederate::localQuery
virtual std::string localQuery(std::string_view queryStr) const override
Definition: ValueFederate.cpp:525
helics::ValueFederate
Definition: application_api/ValueFederate.hpp:26
helics::CombinationFederate::CombinationFederate
CombinationFederate()
helics::CombinationFederate::operator=
CombinationFederate & operator=(CombinationFederate &&fed) noexcept
helics::loadFederateInfo
FederateInfo loadFederateInfo(const std::string &configString)
Definition: FederateInfo.cpp:711
helics::MessageFederate::registerMessageInterfaces
void registerMessageInterfaces(const std::string &configString)
Definition: MessageFederate.cpp:136
helics::Federate::registerFilterInterfaces
void registerFilterInterfaces(const std::string &configString)
Definition: Federate.cpp:951
helics::CombinationFederate::registerInterfaces
virtual void registerInterfaces(const std::string &configString) override
Definition: CombinationFederate.cpp:90
helics::CombinationFederate::startupToInitializeStateTransition
virtual void startupToInitializeStateTransition() override
Definition: CombinationFederate.cpp:69
helics::Time
TimeRepresentation< count_time< 9 > > Time
Definition: helicsTime.hpp:27
helics::MessageFederate
Definition: application_api/MessageFederate.hpp:22
helics::MessageFederate::updateTime
virtual void updateTime(Time newTime, Time oldTime) override
Definition: MessageFederate.cpp:90
helics::CoreApp
Definition: application_api/CoreApp.hpp:25
helics::FederateInfo
Definition: FederateInfo.hpp:24
helics::ValueFederate::updateTime
virtual void updateTime(Time newTime, Time oldTime) override
Definition: ValueFederate.cpp:511
helics::IterationResult
IterationResult
Definition: CoreTypes.hpp:83
helics::ValueFederate::startupToInitializeStateTransition
virtual void startupToInitializeStateTransition() override
Definition: ValueFederate.cpp:516
helics::MessageFederate::initializeToExecuteStateTransition
virtual void initializeToExecuteStateTransition(IterationResult result) override
Definition: MessageFederate.cpp:99
helics::MessageFederate::localQuery
virtual std::string localQuery(std::string_view queryStr) const override
Definition: MessageFederate.cpp:104
helics::CombinationFederate::initializeToExecuteStateTransition
virtual void initializeToExecuteStateTransition(IterationResult result) override
Definition: CombinationFederate.cpp:75
helics
the main namespace for the helics co-simulation library User functions will be in the helics namespac...
Definition: AsyncFedCallInfo.hpp:14
helics::ValueFederate::initializeToExecuteStateTransition
virtual void initializeToExecuteStateTransition(IterationResult result) override
Definition: ValueFederate.cpp:520
helics::ValueFederate::registerValueInterfaces
void registerValueInterfaces(const std::string &configString)
Definition: ValueFederate.cpp:184
helics::CombinationFederate::localQuery
virtual std::string localQuery(std::string_view queryStr) const override
Definition: CombinationFederate.cpp:81
helics::Federate
Definition: application_api/Federate.hpp:48
helics::ValueFederate::disconnect
virtual void disconnect() override
Definition: ValueFederate.cpp:83
helics::loadCores
bool loadCores()
Definition: loadCores.cpp:149
helics::MessageFederate::startupToInitializeStateTransition
virtual void startupToInitializeStateTransition() override
Definition: MessageFederate.cpp:95
helicscpp
Definition: cpp98/Broker.hpp:18
helics::CombinationFederate::disconnect
virtual void disconnect() override
Definition: CombinationFederate.cpp:55
helics::CombinationFederate
Definition: application_api/CombinationFederate.hpp:18