OdbDesignLib
OdbDesign ODB++ Parsing Library
 
Loading...
Searching...
No Matches
Via.cpp
1#include "Via.h"
2#include <memory>
3#include "via.pb.h"
4#include "enums.pb.h"
5#include "../enums.h"
6#include <string>
7#include "../Text/Utf8Sanitizer.h"
8
9
10namespace Odb::Lib::ProductModel
11{
12 Via::Via()
13 : m_name("")
14 , m_side(BoardSide::Top)
15 {
16 }
17
18 std::string Via::GetName() const
19 {
20 return m_name;
21 }
22
23 BoardSide Via::GetSide() const
24 {
25 return m_side;
26 }
27
28 std::unique_ptr<Odb::Lib::Protobuf::ProductModel::Via> Via::to_protobuf() const
29 {
30 auto pViaMsg = std::make_unique<Odb::Lib::Protobuf::ProductModel::Via>();
31 pViaMsg->set_name(Odb::Lib::Text::ToUtf8(m_name));
32 pViaMsg->set_boardside(static_cast<Odb::Lib::Protobuf::BoardSide>(m_side));
33 return pViaMsg;
34 }
35
36 void Via::from_protobuf(const Odb::Lib::Protobuf::ProductModel::Via& message)
37 {
38 m_name = message.name();
39 m_side = static_cast<BoardSide>(message.boardside());
40 }
41
42} // namespace Odb::Lib::ProductModel