DPsim
Loading...
Searching...
No Matches
InterfaceWorker.h
1// SPDX-License-Identifier: Apache-2.0
2
3#pragma once
4
5#include <typeinfo>
6
7#include <dpsim-models/Attribute.h>
8#include <dpsim-models/Logger.h>
9#include <dpsim-models/Task.h>
10#include <dpsim/Config.h>
11#include <dpsim/Definitions.h>
12#include <dpsim/Interface.h>
13#include <dpsim/InterfaceQueued.h>
14#include <dpsim/Scheduler.h>
15
16namespace DPsim {
17
18class InterfaceWorker {
19
20protected:
21 bool mOpened;
22 UInt mCurrentSequenceInterfaceToDpsim = 1;
23
24public:
25 using Ptr = std::shared_ptr<InterfaceWorker>;
26
27 CPS::Logger::Log mLog;
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
virtual void writeValuesToEnv(std::vector< InterfaceQueued::AttributePacket > &updatedAttrs)=0
virtual void open()=0
virtual void readValuesFromEnv(std::vector< InterfaceQueued::AttributePacket > &updatedAttrs)=0
virtual void close()=0