aegis.cpp
 All Classes Functions Variables Typedefs Enumerations Enumerator Friends Pages
image.hpp
1 //
2 // image.hpp
3 // *********
4 //
5 // Copyright (c) 2019 Sharon W (sharon at aegis dot gg)
6 //
7 // Distributed under the MIT License. (See accompanying file LICENSE)
8 //
9 
10 #pragma once
11 
12 #include "aegis/config.hpp"
13 #include <nlohmann/json.hpp>
14 
15 namespace aegis
16 {
17 
18 namespace gateway
19 {
20 
21 namespace objects
22 {
23 
26 struct image
27 {
28  std::string url;
29  std::string proxy_url;
30  int32_t height = 0;
31  int32_t width = 0;
32 };
33 
35 inline void from_json(const nlohmann::json& j, image& m)
36 {
37  if (j.count("url") && !j["url"].is_null())
38  m.url = j["url"].get<std::string>();
39  if (j.count("proxy_url") && !j["proxy_url"].is_null())
40  m.proxy_url = j["proxy_url"].get<std::string>();
41  if (j.count("height") && !j["height"].is_null())
42  m.height = j["height"];
43  if (j.count("width") && !j["width"].is_null())
44  m.width = j["width"];
45 }
46 
47 inline void to_json(nlohmann::json& j, const image& m)
48 {
49  j["url"] = m.url;
50  //j["proxy_url"] = m.proxy_url;
51  j["height"] = m.height;
52  j["width"] = m.width;
53 }
55 
56 }
57 
58 }
59 
60 }
Definition: image.hpp:26
std::string url
Definition: image.hpp:28
std::string proxy_url
Definition: image.hpp:29
int32_t width
Definition: image.hpp:31
int32_t height
Definition: image.hpp:30