10#include <dpsim/Config.h>
22 typedef std::shared_ptr<Interface>
Ptr;
25 spdlog::level::level_enum::info)
48 std::vector<std::tuple<CPS::AttributeBase::Ptr, UInt, bool, bool>>
54 bool syncOnSimulationStart =
true);
AttributePointer< AttributeBase > Ptr
std::shared_ptr< spdlog::logger > Log
static Log get(const std::string &name, Level filelevel=Level::info, Level clilevel=Level::off)
bool mSyncOnSimulationStart
std::vector< std::tuple< CPS::AttributeBase::Ptr, UInt, bool, bool > > mImportAttrsDpsim
UInt mNextSequenceInterfaceToDpsim
std::atomic< bool > mOpened
UInt mCurrentSequenceDpsimToInterface
virtual void addImport(CPS::AttributeBase::Ptr attr, bool blockOnRead=false, bool syncOnSimulationStart=true)
virtual void syncImports()=0
Function called by the Simulation to perform interface synchronization.
virtual void setLogger(CPS::Logger::Log log)
virtual String & getName()
virtual void syncExports()=0
virtual ~Interface()=default
virtual void addExport(CPS::AttributeBase::Ptr attr)
std::shared_ptr< Interface > Ptr
std::vector< std::tuple< CPS::AttributeBase::Ptr, UInt > > mExportAttrsDpsim
virtual CPS::Task::List getTasks()=0
Interface(const String &name="", spdlog::level::level_enum logLevel=spdlog::level::level_enum::info)