65 lines
1.2 KiB
C++
65 lines
1.2 KiB
C++
#include "tree_node.h"
|
|
|
|
TreeNode::TreeNode()
|
|
: m_type (NodeType::Root)
|
|
, m_name ("dbc")
|
|
, m_children()
|
|
, m_frame()
|
|
, m_signal() {
|
|
}
|
|
|
|
TreeNode::TreeNode (const FrameInfo &frame)
|
|
: m_type (NodeType::Frame)
|
|
, m_name (frame.name)
|
|
, m_children()
|
|
, m_frame (new FrameInfo (frame))
|
|
, m_signal() {
|
|
}
|
|
|
|
TreeNode::TreeNode (const SignalInfo &signal)
|
|
: m_type (NodeType::Signal)
|
|
, m_name (signal.name)
|
|
, m_children()
|
|
, m_frame()
|
|
, m_signal (new SignalInfo (signal)) {
|
|
}
|
|
|
|
void TreeNode::AddChild (std::unique_ptr<TreeNode> child) {
|
|
if (child)
|
|
m_children.push_back (std::move (child));
|
|
}
|
|
|
|
std::size_t TreeNode::GetChildCount() const {
|
|
return m_children.size();
|
|
}
|
|
|
|
const TreeNode *TreeNode::GetChild (std::size_t index) const {
|
|
if (index >= m_children.size())
|
|
return nullptr;
|
|
|
|
return m_children[index].get();
|
|
}
|
|
|
|
TreeNode *TreeNode::GetChild (std::size_t index) {
|
|
if (index >= m_children.size())
|
|
return nullptr;
|
|
|
|
return m_children[index].get();
|
|
}
|
|
|
|
NodeType TreeNode::GetType() const {
|
|
return m_type;
|
|
}
|
|
|
|
const std::string &TreeNode::GetName() const {
|
|
return m_name;
|
|
}
|
|
|
|
const FrameInfo *TreeNode::GetFrame() const {
|
|
return m_frame.get();
|
|
}
|
|
|
|
const SignalInfo *TreeNode::GetSignal() const {
|
|
return m_signal.get();
|
|
}
|