2 #include "../ProtoBuf/component.pb.h"
3 #include "../ProtoBuf/enums.pb.h"
11 namespace Odb::Lib::ProductModel
13 Component::Component()
17 , m_index(static_cast<unsigned>(-1))
18 , m_side(BoardSide::BsNone)
23 Component::Component(
const std::string& refDes,
const std::string& partName, std::shared_ptr<Package> pPackage,
unsigned int index, BoardSide side, std::shared_ptr<Part> pPart)
25 , m_partName(partName)
26 , m_pPackage(pPackage)
33 Component::~Component()
37 std::string Component::GetRefDes()
const
42 std::string Component::GetPartName()
const
47 std::shared_ptr<Package> Component::GetPackage()
const
52 unsigned int Component::GetIndex()
const
57 BoardSide Component::GetSide()
const
62 std::shared_ptr<Part> Component::GetPart()
const
67 std::unique_ptr<Odb::Lib::Protobuf::ProductModel::Component> Component::to_protobuf()
const
69 auto pComponentMsg = std::make_unique<Odb::Lib::Protobuf::ProductModel::Component>();
70 pComponentMsg->set_refdes(m_refDes);
71 pComponentMsg->set_partname(m_partName);
72 pComponentMsg->set_index(m_index);
73 pComponentMsg->set_side(
static_cast<Odb::Lib::Protobuf::BoardSide
>(m_side));
74 pComponentMsg->mutable_package()->CopyFrom(*m_pPackage->to_protobuf());
75 pComponentMsg->mutable_part()->CopyFrom(*m_pPart->to_protobuf());
79 void Component::from_protobuf(
const Odb::Lib::Protobuf::ProductModel::Component& message)
81 m_refDes = message.refdes();
82 m_partName = message.partname();
83 m_index = message.index();
84 m_side =
static_cast<BoardSide
>(message.side());
85 m_pPackage = std::make_shared<Package>(
"", -1);
86 m_pPackage->from_protobuf(message.package());
87 m_pPart = std::make_shared<Part>(
"");
88 m_pPart->from_protobuf(message.part());