32 lines
972 B
C++
32 lines
972 B
C++
/**
|
|
* @file dbc_tree_builder.cpp
|
|
* @brief
|
|
*
|
|
* Created: 2026-03-13
|
|
* Author: Deeaitch (Dim. Himro)
|
|
*
|
|
* Licensed under the MIT License.
|
|
* See LICENSE file in the project root for full license text.
|
|
*/
|
|
|
|
#include "dbc_tree_builder.h"
|
|
|
|
std::unique_ptr<TreeNode> DbcTreeBuilder::Build(const DbcDatabase &database) const {
|
|
std::unique_ptr<TreeNode> root(new TreeNode());
|
|
|
|
for (std::size_t frameIndex = 0U; frameIndex < database.frames.size(); ++frameIndex) {
|
|
const FrameInfo &frame = database.frames[frameIndex];
|
|
std::unique_ptr<TreeNode> frameNode(new TreeNode(frame));
|
|
|
|
for (std::size_t signalIndex = 0U; signalIndex < frame.signals.size(); ++signalIndex) {
|
|
const SignalInfo &signal = frame.signals[signalIndex];
|
|
std::unique_ptr<TreeNode> signalNode(new TreeNode(signal));
|
|
frameNode->AddChild(std::move(signalNode));
|
|
}
|
|
|
|
root->AddChild(std::move(frameNode));
|
|
}
|
|
|
|
return root;
|
|
}
|