Nix (Dev) 3.5.10
dev - 3.5.10 - 1af9301
Loading...
Searching...
No Matches
CLogicsComponentLibrary.hpp
Go to the documentation of this file.
1#ifndef LIBS_LOGIC_CLOGICSCOMPONENTLIBRARY_HPP
2#define LIBS_LOGIC_CLOGICSCOMPONENTLIBRARY_HPP
3
6
7#include <optional>
8
10{
11public:
12 explicit CLogicsComponentLibrary(const iv::types::logic::ComponentType &componentTypeTuple);
14 const std::string &name, const CLogicsAllowed::TMapDBBlockParamNStr &mapBlockParamsDesc,
15 const CLogicsAllowed::TMapDBBlockParamNStr &libraryExternalValues,
16 iv::types::logic::logicExecutionOrder orderOfExecution, LogicLibraryInfo logicLibraryInfo);
18 ~CLogicsComponentLibrary() override = default;
23
24 iv::file::xml::node read(const iv::file::xml::node &node) override;
25 iv::file::xml::node save(iv::file::xml::node &node) const override;
26
27 [[nodiscard]] const LogicLibraryInfo &getLibraryInfo() const;
29 [[nodiscard]] std::string getLibraryName() const;
30
31 [[nodiscard]] std::optional<iv::types::errorMessage> checkMatchesStructureOfLibraryFile() const;
32
33 void updateLibraryParameters(const std::string &value, iv::logic::ParamId externalParamId,
34 ELibraryLogicBlockParamConnectedType externalConnectionType);
35
36 void updateLibraryOnlineParameter(const std::string &paramOnlineTag, iv::logic::ParamId externalParamId);
37
39 void setIntermediateMemoryExternalConnection(const std::string &parameterName,
42
43 void setParameterUint32Value(iv::logic::ParamId externalParamId, uint32_t uint32Value);
44 void setBlockTagName(const std::string &tagname);
45
46private:
48
51};
52
53#endif//LIBS_LOGIC_CLOGICSCOMPONENTLIBRARY_HPP
ELibraryLogicBlockParamConnectedType
Definition LogicLibraryInfo.hpp:13
uint32_t TId
Definition AbstractCanvasItem.hpp:47
std::map< iv::logic::ParamId, std::string > TMapDBBlockParamNStr
Definition CLogicsAllowed.hpp:25
Definition CLogicsComponentExec.hpp:12
Definition CLogicsComponentLibrary.hpp:10
void processLibraryIntermediateMemory(iv::types::logic::logicIntermediateMemory &currentMemory)
Definition CLogicsComponentLibrary.cpp:109
~CLogicsComponentLibrary() override=default
std::optional< iv::types::errorMessage > checkMatchesStructureOfLibraryFile() const
Definition CLogicsComponentLibrary.cpp:92
CLogicsComponentLibrary(CLogicsComponentLibrary &&other)=delete
void setIntermediateMemoryExternalConnection(const std::string &parameterName, CLogicsConnectionPoint::EIOType connectionType, iv::types::logic::logicIntermediateMemory memory)
Definition CLogicsComponentLibrary.cpp:114
const LogicLibraryInfo & getLibraryInfo() const
Definition CLogicsComponentLibrary.cpp:77
void prvSetExecParamDescriptions()
Definition CLogicsComponentLibrary.cpp:154
CLogicsComponentLibrary & operator=(const CLogicsComponentLibrary &other)=delete
iv::types::logic::libraryTagName getLibraryTagName() const
Definition CLogicsComponentLibrary.cpp:82
CLogicsComponentLibrary(const CLogicsComponentLibrary &other)=delete
CLogicsComponentLibrary & operator=(CLogicsComponentLibrary &&other)=delete
LogicLibraryInfo m_libraryInfo
Definition CLogicsComponentLibrary.hpp:49
iv::types::logic::libraryTagName m_tagname
Definition CLogicsComponentLibrary.hpp:50
void updateLibraryParameters(const std::string &value, iv::logic::ParamId externalParamId, ELibraryLogicBlockParamConnectedType externalConnectionType)
Definition CLogicsComponentLibrary.cpp:97
void setParameterUint32Value(iv::logic::ParamId externalParamId, uint32_t uint32Value)
Definition CLogicsComponentLibrary.cpp:144
CLogicsComponentLibrary()=delete
void updateLibraryOnlineParameter(const std::string &paramOnlineTag, iv::logic::ParamId externalParamId)
Definition CLogicsComponentLibrary.cpp:103
std::string getLibraryName() const
Definition CLogicsComponentLibrary.cpp:87
iv::file::xml::node save(iv::file::xml::node &node) const override
Definition CLogicsComponentLibrary.cpp:63
void setBlockTagName(const std::string &tagname)
Definition CLogicsComponentLibrary.cpp:149
iv::file::xml::node read(const iv::file::xml::node &node) override
Definition CLogicsComponentLibrary.cpp:29
EIOType
Definition CLogicsConnectionPoint.hpp:25
Definition LogicLibraryInfo.hpp:95
Definition xmlFile.hpp:15
uint16_t logicExecutionOrder
Definition types.hpp:129
std::string libraryTagName
Definition types.hpp:131
uint32_t logicIntermediateMemory
Definition types.hpp:128
Definition structs.hpp:19
Tuple containing the type of logic component (logic blocks, library blocks & others blocks).
Definition types.hpp:22