Fawkes API Fawkes Development Version
ImageInfo.h
1
2/****************************************************************************
3 * Image -- Schema ImageInfo
4 * (auto-generated, do not modify directly)
5 *
6 * Fawkes Image REST API.
7 * Access images through a REST API.
8 *
9 * API Contact: Tim Niemueller <niemueller@kbsg.rwth-aachen.de>
10 * API Version: v1beta1
11 * API License: Apache 2.0
12 ****************************************************************************/
13
14#pragma once
15
16#define RAPIDJSON_HAS_STDSTRING 1
17#include <rapidjson/fwd.h>
18
19#include <cstdint>
20#include <memory>
21#include <optional>
22#include <string>
23#include <vector>
24
25/** ImageInfo representation for JSON transfer. */
27
28{
29public:
30 /** Constructor. */
31 ImageInfo();
32 /** Constructor from JSON.
33 * @param json JSON string to initialize from
34 */
35 ImageInfo(const std::string &json);
36 /** Constructor from JSON.
37 * @param v RapidJSON value object to initialize from.
38 */
39 ImageInfo(const rapidjson::Value &v);
40
41 /** Destructor. */
42 virtual ~ImageInfo();
43
44 /** Get version of implemented API.
45 * @return string representation of version
46 */
47 static std::string
49 {
50 return "v1beta1";
51 }
52
53 /** Render object to JSON.
54 * @param pretty true to enable pretty printing (readable spacing)
55 * @return JSON string
56 */
57 virtual std::string to_json(bool pretty = false) const;
58 /** Render object to JSON.
59 * @param d RapidJSON document to retrieve allocator from
60 * @param v RapidJSON value to add data to
61 */
62 virtual void to_json_value(rapidjson::Document &d, rapidjson::Value &v) const;
63 /** Retrieve data from JSON string.
64 * @param json JSON representation suitable for this object.
65 * Will allow partial assignment and not validate automaticaly.
66 * @see validate()
67 */
68 virtual void from_json(const std::string &json);
69 /** Retrieve data from JSON string.
70 * @param v RapidJSON value suitable for this object.
71 * Will allow partial assignment and not validate automaticaly.
72 * @see validate()
73 */
74 virtual void from_json_value(const rapidjson::Value &v);
75
76 /** Validate if all required fields have been set.
77 * @param subcall true if this is called from another class, e.g.,
78 * a sub-class or array holder. Will modify the kind of exception thrown.
79 * @exception std::vector<std::string> thrown if required information is
80 * missing and @p subcall is set to true. Contains a list of missing fields.
81 * @exception std::runtime_error informative message describing the missing
82 * fields
83 */
84 virtual void validate(bool subcall = false) const;
85
86 // Schema: ImageInfo
87public:
88 /** Get kind value.
89 * @return kind value
90 */
91 std::optional<std::string>
92 kind() const
93 {
94 return kind_;
95 }
96
97 /** Set kind value.
98 * @param kind new value
99 */
100 void
101 set_kind(const std::string &kind)
102 {
103 kind_ = kind;
104 }
105 /** Get apiVersion value.
106 * @return apiVersion value
107 */
108 std::optional<std::string>
110 {
111 return apiVersion_;
112 }
113
114 /** Set apiVersion value.
115 * @param apiVersion new value
116 */
117 void
118 set_apiVersion(const std::string &apiVersion)
119 {
120 apiVersion_ = apiVersion;
121 }
122 /** Get id value.
123 * @return id value
124 */
125 std::optional<std::string>
126 id() const
127 {
128 return id_;
129 }
130
131 /** Set id value.
132 * @param id new value
133 */
134 void
135 set_id(const std::string &id)
136 {
137 id_ = id;
138 }
139 /** Get colorspace value.
140 * @return colorspace value
141 */
142 std::optional<std::string>
144 {
145 return colorspace_;
146 }
147
148 /** Set colorspace value.
149 * @param colorspace new value
150 */
151 void
152 set_colorspace(const std::string &colorspace)
153 {
154 colorspace_ = colorspace;
155 }
156 /** Get frame value.
157 * @return frame value
158 */
159 std::optional<std::string>
160 frame() const
161 {
162 return frame_;
163 }
164
165 /** Set frame value.
166 * @param frame new value
167 */
168 void
169 set_frame(const std::string &frame)
170 {
171 frame_ = frame;
172 }
173 /** Get width value.
174 * @return width value
175 */
176 std::optional<int64_t>
177 width() const
178 {
179 return width_;
180 }
181
182 /** Set width value.
183 * @param width new value
184 */
185 void
186 set_width(const int64_t &width)
187 {
188 width_ = width;
189 }
190 /** Get height value.
191 * @return height value
192 */
193 std::optional<int64_t>
194 height() const
195 {
196 return height_;
197 }
198
199 /** Set height value.
200 * @param height new value
201 */
202 void
203 set_height(const int64_t &height)
204 {
205 height_ = height;
206 }
207 /** Get mem_size value.
208 * @return mem_size value
209 */
210 std::optional<int64_t>
211 mem_size() const
212 {
213 return mem_size_;
214 }
215
216 /** Set mem_size value.
217 * @param mem_size new value
218 */
219 void
220 set_mem_size(const int64_t &mem_size)
221 {
222 mem_size_ = mem_size;
223 }
224
225private:
226 std::optional<std::string> kind_;
227 std::optional<std::string> apiVersion_;
228 std::optional<std::string> id_;
229 std::optional<std::string> colorspace_;
230 std::optional<std::string> frame_;
231 std::optional<int64_t> width_;
232 std::optional<int64_t> height_;
233 std::optional<int64_t> mem_size_;
234};
ImageInfo representation for JSON transfer.
Definition: ImageInfo.h:28
void set_colorspace(const std::string &colorspace)
Set colorspace value.
Definition: ImageInfo.h:152
std::optional< std::string > colorspace() const
Get colorspace value.
Definition: ImageInfo.h:143
std::optional< int64_t > mem_size() const
Get mem_size value.
Definition: ImageInfo.h:211
std::optional< std::string > apiVersion() const
Get apiVersion value.
Definition: ImageInfo.h:109
void set_kind(const std::string &kind)
Set kind value.
Definition: ImageInfo.h:101
ImageInfo()
Constructor.
Definition: ImageInfo.cpp:23
virtual void from_json_value(const rapidjson::Value &v)
Retrieve data from JSON string.
Definition: ImageInfo.cpp:120
void set_frame(const std::string &frame)
Set frame value.
Definition: ImageInfo.h:169
void set_height(const int64_t &height)
Set height value.
Definition: ImageInfo.h:203
void set_width(const int64_t &width)
Set width value.
Definition: ImageInfo.h:186
virtual void from_json(const std::string &json)
Retrieve data from JSON string.
Definition: ImageInfo.cpp:111
std::optional< std::string > frame() const
Get frame value.
Definition: ImageInfo.h:160
void set_mem_size(const int64_t &mem_size)
Set mem_size value.
Definition: ImageInfo.h:220
std::optional< int64_t > width() const
Get width value.
Definition: ImageInfo.h:177
void set_id(const std::string &id)
Set id value.
Definition: ImageInfo.h:135
std::optional< int64_t > height() const
Get height value.
Definition: ImageInfo.h:194
virtual std::string to_json(bool pretty=false) const
Render object to JSON.
Definition: ImageInfo.cpp:42
void set_apiVersion(const std::string &apiVersion)
Set apiVersion value.
Definition: ImageInfo.h:118
virtual void to_json_value(rapidjson::Document &d, rapidjson::Value &v) const
Render object to JSON.
Definition: ImageInfo.cpp:61
virtual void validate(bool subcall=false) const
Validate if all required fields have been set.
Definition: ImageInfo.cpp:149
virtual ~ImageInfo()
Destructor.
Definition: ImageInfo.cpp:37
std::optional< std::string > kind() const
Get kind value.
Definition: ImageInfo.h:92
std::optional< std::string > id() const
Get id value.
Definition: ImageInfo.h:126
static std::string api_version()
Get version of implemented API.
Definition: ImageInfo.h:48