3 #include "../odbdesign_export.h"
11 #include "../ProtoBuf/component.pb.h"
12 #include "../IProtoBuffable.h"
15 namespace Odb::Lib::ProductModel
21 Component(
const std::string& refDes,
const std::string& partName, std::shared_ptr<Package> pPackage,
unsigned int index, BoardSide side, std::shared_ptr<Part> pPart);
24 std::string GetRefDes()
const;
25 std::string GetPartName()
const;
26 std::shared_ptr<Package> GetPackage()
const;
27 unsigned int GetIndex()
const;
28 BoardSide GetSide()
const;
29 std::shared_ptr<Part> GetPart()
const;
32 std::unique_ptr<Odb::Lib::Protobuf::ProductModel::Component> to_protobuf()
const override;
33 void from_protobuf(
const Odb::Lib::Protobuf::ProductModel::Component& message)
override;
37 typedef std::vector<std::shared_ptr<Component>> Vector;
38 typedef std::map<std::string, std::shared_ptr<Component>> StringMap;
42 std::string m_partName;
43 std::shared_ptr<Package> m_pPackage;
46 std::shared_ptr<Part> m_pPart;