27 lines
770 B
C++
27 lines
770 B
C++
// HierarchyItemBuilder.h
|
|
#pragma once
|
|
#include "common/core_model/topology.h"
|
|
#include "dataModel.h"
|
|
|
|
class HierarchyItemBuilder {
|
|
public:
|
|
static HierarchyItemBuilder& instance();
|
|
|
|
// 创建间隔层级项
|
|
HierarchyItem buildBayItem(BlockDataPtr blockData);
|
|
|
|
// 创建设备层级项
|
|
HierarchyItem buildDeviceItem(BlockDataPtr blockData, int deviceType);
|
|
|
|
// 创建带父间隔的设备项
|
|
HierarchyItem buildDeviceWithParent(BlockDataPtr deviceBlock,
|
|
BlockDataPtr parentBlock,
|
|
int deviceType);
|
|
|
|
// 根据block类型自动创建对应层级项
|
|
HierarchyItem buildAutoFromBlock(BlockDataPtr blockData);
|
|
|
|
private:
|
|
HierarchyItemBuilder() = default;
|
|
};
|