Nix (Dev) 3.5.10
dev - 3.5.10 - 1af9301
Loading...
Searching...
No Matches
CLogicsConnectionPoint.hpp
Go to the documentation of this file.
1#ifndef LIBS_LOGIC_CLOGICSCONNECTIONPOINT_HPP_
2#define LIBS_LOGIC_CLOGICSCONNECTIONPOINT_HPP_
3
7
8#include <string>
9#include <vector>
10
12
22{
23public:
24 enum class EIOType
25 {
26 Input,
27 Output,
29 };
30
31 static EIOType enumLogicsConnectionPointIOType(const std::string &strType);
32 static std::string strLogicsConnectionPointIOType(EIOType type);
33
36 const std::string &name);
37 ~CLogicsConnectionPoint() override = default;
42
43 uint32_t getIntermediateMemory() const;
44 iv::file::xml::node read(const iv::file::xml::node &node) override;
45 iv::file::xml::node save(iv::file::xml::node &node) const override;
46
47 std::vector<std::shared_ptr<AbstractCanvasItem>> getLinkedItems() override;
48 void updateLinkedItems() override;
49 void resetLinkedItems() override;
50
51 void setIOType(EIOType ioType);
52 void setIntermediateMemory(uint32_t intermediateMemory);
54 void setLinkedConnection(const std::shared_ptr<CLogicsConnection> &linkedConnection);
55 [[nodiscard]] bool isConnected() const;
56
57 [[nodiscard]] EIOType getIOType() const;
58 [[nodiscard]] AbstractCanvasItem::TId getBlockComponentId() const;
59 [[nodiscard]] std::shared_ptr<CLogicsConnection> getLinkedConnection() const;
60 [[nodiscard]] std::shared_ptr<CLogicsConnectionPoint> getOppositeConnectedConnectionPoint() const;
61
62private:
64
65 uint32_t m_intermediateMemory;//csb. Viene de Windows, se mantiene.
68 m_blockComponentId;// logic component id where this connection point belongs to. This can't be unset.
69 std::weak_ptr<CLogicsConnection> m_linkedConnectionRef;// logic connection reference to which its linked.
70};
71
72#endif /* LIBS_LOGIC_CLOGICSCONNECTIONPOINT_HPP_ */
uint32_t TId
Definition AbstractCanvasItem.hpp:47
Definition AbstractLogicsElement.hpp:15
Definition CLogicsConnectionPoint.hpp:22
std::shared_ptr< CLogicsConnectionPoint > getOppositeConnectedConnectionPoint() const
Definition CLogicsConnectionPoint.cpp:172
static std::string strLogicsConnectionPointIOType(EIOType type)
Definition CLogicsConnectionPoint.cpp:27
AbstractCanvasItem::TId m_blockComponentId
Definition CLogicsConnectionPoint.hpp:68
CLogicsConnectionPoint(const CLogicsConnectionPoint &other)=delete
uint32_t m_intermediateMemory
Definition CLogicsConnectionPoint.hpp:65
EIOType
Definition CLogicsConnectionPoint.hpp:25
CLogicsConnectionPoint & operator=(CLogicsConnectionPoint &&other)=delete
void setIntermediateMemory(uint32_t intermediateMemory)
Definition CLogicsConnectionPoint.cpp:135
iv::file::xml::node save(iv::file::xml::node &node) const override
Definition CLogicsConnectionPoint.cpp:80
CLogicsConnectionPoint(CLogicsConnectionPoint &&other)=delete
iv::file::xml::node read(const iv::file::xml::node &node) override
Definition CLogicsConnectionPoint.cpp:65
void resetLinkedItems() override
Definition CLogicsConnectionPoint.cpp:120
EIOType m_ioType
Definition CLogicsConnectionPoint.hpp:66
CLogicsConnectionPoint()
Definition CLogicsConnectionPoint.cpp:39
void prvResetLinkedItems()
Definition CLogicsConnectionPoint.cpp:194
EIOType getIOType() const
Definition CLogicsConnectionPoint.cpp:155
void setLinkedComponentId(AbstractCanvasItem::TId id)
Definition CLogicsConnectionPoint.cpp:130
std::shared_ptr< CLogicsConnection > getLinkedConnection() const
Definition CLogicsConnectionPoint.cpp:167
CLogicsConnectionPoint & operator=(const CLogicsConnectionPoint &other)=delete
uint32_t getIntermediateMemory() const
Definition CLogicsConnectionPoint.cpp:95
void setLinkedConnection(const std::shared_ptr< CLogicsConnection > &linkedConnection)
Definition CLogicsConnectionPoint.cpp:140
void updateLinkedItems() override
Definition CLogicsConnectionPoint.cpp:112
std::vector< std::shared_ptr< AbstractCanvasItem > > getLinkedItems() override
Definition CLogicsConnectionPoint.cpp:100
static EIOType enumLogicsConnectionPointIOType(const std::string &strType)
Definition CLogicsConnectionPoint.cpp:15
AbstractCanvasItem::TId getBlockComponentId() const
Definition CLogicsConnectionPoint.cpp:162
void setIOType(EIOType ioType)
Definition CLogicsConnectionPoint.cpp:125
bool isConnected() const
Definition CLogicsConnectionPoint.cpp:150
~CLogicsConnectionPoint() override=default
std::weak_ptr< CLogicsConnection > m_linkedConnectionRef
Definition CLogicsConnectionPoint.hpp:69
Definition CLogicsConnection.hpp:15
Definition xmlFile.hpp:15