lintel 0.2.0
Loading...
Searching...
No Matches
SharedMemoryRepositoryDto.h
Go to the documentation of this file.
1#ifndef LINTEL_SHAREDMEMORYREPOSITORYDTO_H
2#define LINTEL_SHAREDMEMORYREPOSITORYDTO_H
3
6
7namespace lintel {
10{
11private:
13 std::string m_uuid;
15 std::string m_name;
17 std::string m_segmentName;
19 SharedMemoryType m_type;
21 std::size_t m_size;
23 int32_t m_currentVersion;
24
26 static struct Shapes
27 {
28 const char *const UUID = "uuid";
29 const char *const NAME = "name";
30 const char *const SEGMENT_NAME = "segment_name";
31 const char *const TYPE = "type";
32 const char *const SIZE = "size";
33 const char *const VERSION = "version";
34 } m_shape;
35
36public:
40
43
46 [[nodiscard]] const std::string &getUuid() const;
47
50 [[nodiscard]] const std::string &getName() const;
51
54 [[nodiscard]] const std::string &getSegmentName() const;
55
59
62 [[nodiscard]] size_t getSize() const;
63
67
70 void serialize(rapidjson::Writer<rapidjson::StringBuffer> *writer) const override;
71
75 bool deserialize(const rapidjson::Value &obj) override;
76};
77
78}// namespace lintel
79#endif// LINTEL_SHAREDMEMORYREPOSITORYDTO_H
Definition JsonSerializable.h:17
Definition SharedMemoryRepositoryDto.h:10
SharedMemoryType getType() const
SharedMemoryRepositoryDto(const SharedMemoryRepository &repository)
void serialize(rapidjson::Writer< rapidjson::StringBuffer > *writer) const override
const std::string & getUuid() const
const std::string & getSegmentName() const
bool deserialize(const rapidjson::Value &obj) override
const std::string & getName() const
Definition SharedMemoryRepository.h:25
Definition UUID.h:9
Definition BaseFeature.h:6
SharedMemoryType
Definition SharedMemoryRepository.h:19
constexpr std::string_view type_name()
Definition TypeName.h:9