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. */
26 class ImageInfo
27 
28 {
29 public:
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
87 public:
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>
109  apiVersion() const
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>
143  colorspace() const
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 
225 private:
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::width
std::optional< int64_t > width() const
Get width value.
Definition: ImageInfo.h:177
ImageInfo::frame
std::optional< std::string > frame() const
Get frame value.
Definition: ImageInfo.h:160
ImageInfo::to_json_value
virtual void to_json_value(rapidjson::Document &d, rapidjson::Value &v) const
Render object to JSON.
Definition: ImageInfo.cpp:61
ImageInfo::~ImageInfo
virtual ~ImageInfo()
Destructor.
Definition: ImageInfo.cpp:37
ImageInfo::from_json
virtual void from_json(const std::string &json)
Retrieve data from JSON string.
Definition: ImageInfo.cpp:111
ImageInfo::kind
std::optional< std::string > kind() const
Get kind value.
Definition: ImageInfo.h:92
ImageInfo::set_id
void set_id(const std::string &id)
Set id value.
Definition: ImageInfo.h:135
ImageInfo::ImageInfo
ImageInfo()
Constructor.
Definition: ImageInfo.cpp:23
ImageInfo::apiVersion
std::optional< std::string > apiVersion() const
Get apiVersion value.
Definition: ImageInfo.h:109
ImageInfo::from_json_value
virtual void from_json_value(const rapidjson::Value &v)
Retrieve data from JSON string.
Definition: ImageInfo.cpp:120
ImageInfo::set_height
void set_height(const int64_t &height)
Set height value.
Definition: ImageInfo.h:203
ImageInfo::set_apiVersion
void set_apiVersion(const std::string &apiVersion)
Set apiVersion value.
Definition: ImageInfo.h:118
ImageInfo::id
std::optional< std::string > id() const
Get id value.
Definition: ImageInfo.h:126
ImageInfo::set_frame
void set_frame(const std::string &frame)
Set frame value.
Definition: ImageInfo.h:169
ImageInfo::set_kind
void set_kind(const std::string &kind)
Set kind value.
Definition: ImageInfo.h:101
ImageInfo::height
std::optional< int64_t > height() const
Get height value.
Definition: ImageInfo.h:194
ImageInfo::set_width
void set_width(const int64_t &width)
Set width value.
Definition: ImageInfo.h:186
ImageInfo::mem_size
std::optional< int64_t > mem_size() const
Get mem_size value.
Definition: ImageInfo.h:211
ImageInfo::validate
virtual void validate(bool subcall=false) const
Validate if all required fields have been set.
Definition: ImageInfo.cpp:149
ImageInfo::colorspace
std::optional< std::string > colorspace() const
Get colorspace value.
Definition: ImageInfo.h:143
ImageInfo::set_colorspace
void set_colorspace(const std::string &colorspace)
Set colorspace value.
Definition: ImageInfo.h:152
ImageInfo
ImageInfo representation for JSON transfer.
Definition: ImageInfo.h:28
ImageInfo::set_mem_size
void set_mem_size(const int64_t &mem_size)
Set mem_size value.
Definition: ImageInfo.h:220
ImageInfo::api_version
static std::string api_version()
Get version of implemented API.
Definition: ImageInfo.h:48
ImageInfo::to_json
virtual std::string to_json(bool pretty=false) const
Render object to JSON.
Definition: ImageInfo.cpp:42