8 #include "../../odbdesign_export.h"
9 #include "LayerDirectory.h"
10 #include "EdaDataFile.h"
11 #include "NetlistFile.h"
12 #include "../../IProtoBuffable.h"
13 #include "../../ProtoBuf/stepdirectory.pb.h"
14 #include "ComponentsFile.h"
15 #include "AttrListFile.h"
16 #include "StepHdrFile.h"
19 namespace Odb::Lib::FileModel::Design
27 std::string GetName();
28 std::filesystem::path GetPath();
31 const LayerDirectory::StringMap& GetLayersByName()
const;
32 const NetlistFile::StringMap& GetNetlistsByName()
const;
42 typedef std::map<std::string, std::shared_ptr<StepDirectory>> StringMap;
45 std::unique_ptr<Odb::Lib::Protobuf::StepDirectory> to_protobuf()
const override;
46 void from_protobuf(
const Odb::Lib::Protobuf::StepDirectory& message)
override;
50 std::filesystem::path m_path;
52 LayerDirectory::StringMap m_layersByName;
53 NetlistFile::StringMap m_netlistsByName;
59 bool ParseLayerFiles(std::filesystem::path layersPath);
60 bool ParseNetlistFiles(std::filesystem::path netlistsPath);
61 bool ParseEdaDataFiles(std::filesystem::path edaPath);
62 bool ParseAttrListFile(std::filesystem::path attrListFileDirectory);
63 bool ParseProfileFile(std::filesystem::path profileFileDirectory);
64 bool ParseStepHdrFile(std::filesystem::path stepHdrFileDirectory);
66 constexpr
inline static const char* PROFILE_FILENAME =
"profile";