DPsim
Loading...
Searching...
No Matches
InterfaceWorker.h
Go to the documentation of this file.
1// SPDX-License-Identifier: Apache-2.0
2
3#pragma once
4
5#include <typeinfo>
6
9#include <dpsim-models/Task.h>
10#include <dpsim/Config.h>
11#include <dpsim/Definitions.h>
12#include <dpsim/Interface.h>
14#include <dpsim/Scheduler.h>
15
16namespace DPsim {
17
19
20protected:
21 bool mOpened;
23
24public:
25 using Ptr = std::shared_ptr<InterfaceWorker>;
26
28
29 InterfaceWorker() = default;
30 virtual ~InterfaceWorker() = default;
31
37 virtual void readValuesFromEnv(
38 std::vector<InterfaceQueued::AttributePacket> &updatedAttrs) = 0;
39
46 virtual void writeValuesToEnv(
47 std::vector<InterfaceQueued::AttributePacket> &updatedAttrs) = 0;
48
53 virtual void open() = 0;
54
59 virtual void close() = 0;
60};
61} // namespace DPsim
std::shared_ptr< spdlog::logger > Log
Definition Logger.h:34
virtual void writeValuesToEnv(std::vector< InterfaceQueued::AttributePacket > &updatedAttrs)=0
std::shared_ptr< InterfaceWorker > Ptr
virtual void open()=0
virtual void readValuesFromEnv(std::vector< InterfaceQueued::AttributePacket > &updatedAttrs)=0
virtual void close()=0
virtual ~InterfaceWorker()=default
CPS::Logger::Log mLog
CPS::UInt UInt
Definition Definitions.h:23