DBC Framework
DBC parsing and CAN signal decoding framework
Loading...
Searching...
No Matches
tree_node.cpp
Go to the documentation of this file.
1
12#include "tree_node.h"
13
15 : m_type(NodeType::Root), m_name("dbc") {
16}
17
19 : m_type(NodeType::Frame), m_name(frame.name), m_frame(std::make_unique<FrameInfo>(frame)) {
20}
21
23 : m_type(NodeType::Signal), m_name(signal.name), m_signal(std::make_unique<SignalInfo>(signal)) {
24}
25
26void TreeNode::AddChild(std::unique_ptr<TreeNode> child) {
27 if (child) {
28 m_children.push_back(std::move(child));
29 m_children.back()->m_parent = this;
30 m_children.back()->m_row = m_children.size() - 1U;
31 }
32}
33
34std::size_t TreeNode::GetChildCount() const {
35 return m_children.size();
36}
37
38const TreeNode *TreeNode::GetChild(std::size_t index) const {
39 if (index >= m_children.size())
40 return nullptr;
41
42 return m_children[index].get();
43}
44
45TreeNode *TreeNode::GetChild(std::size_t index) {
46 if (index >= m_children.size())
47 return nullptr;
48
49 return m_children[index].get();
50}
51
53 return m_type;
54}
55
56const std::string &TreeNode::GetName() const {
57 return m_name;
58}
59
61 return m_frame.get();
62}
63
65 return m_signal.get();
66}
67
69 return m_parent;
70}
71
72std::size_t TreeNode::GetRow() const {
73 return m_row;
74}
Tree node for later use in model/view or other hierarchy consumers.
Definition tree_node.h:35
const SignalInfo * GetSignal() const
Get signal payload if node is signal.
Definition tree_node.cpp:64
const TreeNode * GetChild(std::size_t index) const
Get child by index.
Definition tree_node.cpp:38
void AddChild(std::unique_ptr< TreeNode > child)
Add child node.
Definition tree_node.cpp:26
TreeNode()
Create root node.
Definition tree_node.cpp:14
const TreeNode * GetParent() const
Definition tree_node.cpp:68
const std::string & GetName() const
Get display name.
Definition tree_node.cpp:56
std::size_t GetChildCount() const
Get child count.
Definition tree_node.cpp:34
std::size_t GetRow() const
Definition tree_node.cpp:72
NodeType GetType() const
Get node type.
Definition tree_node.cpp:52
const FrameInfo * GetFrame() const
Get frame payload if node is frame.
Definition tree_node.cpp:60
Describes one CAN frame from a DBC file.
Definition frame_info.h:24
Describes one signal inside a DBC frame.
Definition signal_info.h:24
Created: 2026-03-13 Author: Deeaitch (Dim. Himro)
NodeType
Type of a tree node.
Definition tree_node.h:26