#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 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(); }