helics  2.8.1
application_api/CombinationFederate.hpp
1 /*
2 Copyright (c) 2017-2021,
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(const std::string& fedName, const FederateInfo& fi);
28 
34  CombinationFederate(const std::string& fedName,
35  const std::shared_ptr<Core>& core,
36  const FederateInfo& fi = FederateInfo{});
37 
43  CombinationFederate(const std::string& fedName,
44  CoreApp& core,
45  const FederateInfo& fi = FederateInfo{});
46 
52  CombinationFederate(const std::string& fedName, const std::string& configString);
53 
58  explicit CombinationFederate(const std::string& configString);
59 
63  virtual ~CombinationFederate();
65  CombinationFederate& operator=(CombinationFederate&& fed) noexcept;
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(iteration_result result) override;
77  virtual std::string localQuery(const std::string& queryStr) const override;
78 
79  public:
80  virtual void registerInterfaces(const std::string& configString) override;
81 };
82 } // namespace helics
data
@ data
print timing+data transmissions
Definition: loggingHelper.hpp:30
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:161
ZmqContextManager
Definition: ZmqContextManager.h:32
helics::ValueFederate::initializeToExecuteStateTransition
virtual void initializeToExecuteStateTransition(iteration_result result) override
Definition: ValueFederate.cpp:515
helics::ValueFederate
Definition: application_api/ValueFederate.hpp:25
helics::CombinationFederate::CombinationFederate
CombinationFederate()
helics::CombinationFederate::operator=
CombinationFederate & operator=(CombinationFederate &&fed) noexcept
helics::loadFederateInfo
FederateInfo loadFederateInfo(const std::string &configString)
Definition: FederateInfo.cpp:639
helics::MessageFederate::registerMessageInterfaces
void registerMessageInterfaces(const std::string &configString)
Definition: MessageFederate.cpp:129
helics::Federate::registerFilterInterfaces
void registerFilterInterfaces(const std::string &configString)
Definition: Federate.cpp:798
helics::CombinationFederate::registerInterfaces
virtual void registerInterfaces(const std::string &configString) override
Definition: CombinationFederate.cpp:92
helics::CombinationFederate::startupToInitializeStateTransition
virtual void startupToInitializeStateTransition() override
Definition: CombinationFederate.cpp:71
helics::iteration_result
iteration_result
Definition: core-types.hpp:81
helics::Time
TimeRepresentation< count_time< 9 > > Time
Definition: helics-time.hpp:27
helics_core
void * helics_core
Definition: api-data.h:46
interfaces
@ interfaces
print connections +interface level connection information
Definition: loggingHelper.hpp:27
helics::MessageFederate
Definition: application_api/MessageFederate.hpp:20
helics::MessageFederate::updateTime
virtual void updateTime(Time newTime, Time oldTime) override
Definition: MessageFederate.cpp:90
AsioContextManager
Definition: AsioContextManager.h:42
helics::CoreApp
Definition: application_api/CoreApp.hpp:25
helics::FederateInfo
Definition: FederateInfo.hpp:20
helics::ValueFederate::updateTime
virtual void updateTime(Time newTime, Time oldTime) override
Definition: ValueFederate.cpp:506
fed
@ fed
special logging command for message coming from a fed
Definition: loggingHelper.hpp:32
helics::ValueFederate::startupToInitializeStateTransition
virtual void startupToInitializeStateTransition() override
Definition: ValueFederate.cpp:511
helics::CombinationFederate::localQuery
virtual std::string localQuery(const std::string &queryStr) const override
Definition: CombinationFederate.cpp:83
helics
the main namespace for the helics co-simulation library User functions will be in the helics namespac...
Definition: AsyncFedCallInfo.hpp:14
helics::ValueFederate::registerValueInterfaces
void registerValueInterfaces(const std::string &configString)
Definition: ValueFederate.cpp:187
helics::CombinationFederate::initializeToExecuteStateTransition
virtual void initializeToExecuteStateTransition(iteration_result result) override
Definition: CombinationFederate.cpp:77
helics::MessageFederate::initializeToExecuteStateTransition
virtual void initializeToExecuteStateTransition(iteration_result result) override
Definition: MessageFederate.cpp:99
helics::Federate
Definition: application_api/Federate.hpp:44
helics::ValueFederate::disconnect
virtual void disconnect() override
Definition: ValueFederate.cpp:83
helics::loadCores
bool loadCores()
Definition: loadCores.cpp:149
helics::ValueFederate::localQuery
virtual std::string localQuery(const std::string &queryStr) const override
Definition: ValueFederate.cpp:520
helics::MessageFederate::startupToInitializeStateTransition
virtual void startupToInitializeStateTransition() override
Definition: MessageFederate.cpp:95
helics::MessageFederate::localQuery
virtual std::string localQuery(const std::string &queryStr) const override
Definition: MessageFederate.cpp:104
helics::CombinationFederate::disconnect
virtual void disconnect() override
Definition: CombinationFederate.cpp:57
helics::CombinationFederate
Definition: application_api/CombinationFederate.hpp:18