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