3 #include "../OdbFile.h"
4 #include "../../odbdesign_export.h"
5 #include "../../enums.h"
7 #include "../../IProtoBuffable.h"
8 #include "../../ProtoBuf/standardfontsfile.pb.h"
9 #include "../IStreamSaveable.h"
11 namespace Odb::Lib::FileModel::Design
19 bool Parse(std::filesystem::path path)
override;
21 bool Save(std::ostream& os)
override;
24 std::unique_ptr<Odb::Lib::Protobuf::StandardFontsFile> to_protobuf()
const override;
25 void from_protobuf(
const Odb::Lib::Protobuf::StandardFontsFile& message)
override;
41 std::unique_ptr<Odb::Lib::Protobuf::StandardFontsFile::CharacterBlock::LineRecord> to_protobuf()
const override;
42 void from_protobuf(
const Odb::Lib::Protobuf::StandardFontsFile::CharacterBlock::LineRecord& message)
override;
44 typedef std::vector<std::shared_ptr<LineRecord>> Vector;
46 inline static constexpr
const char* RECORD_TOKEN =
"LINE";
49 inline static constexpr
const char* BEGIN_TOKEN =
"CHAR";
50 inline static constexpr
const char* END_TOKEN =
"ECHAR";
53 LineRecord::Vector m_lineRecords;
55 std::unique_ptr<Odb::Lib::Protobuf::StandardFontsFile::CharacterBlock> to_protobuf()
const override;
56 void from_protobuf(
const Odb::Lib::Protobuf::StandardFontsFile::CharacterBlock& message)
override;
58 typedef std::vector<std::shared_ptr<CharacterBlock>> Vector;
67 CharacterBlock::Vector m_characterBlocks;