aegis.cpp
 All Classes Functions Variables Typedefs Enumerations Enumerator Friends Pages
presence.hpp
1 //
2 // presence.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 "aegis/snowflake.hpp"
14 #include <nlohmann/json.hpp>
15 
16 namespace aegis
17 {
18 
19 namespace gateway
20 {
21 
22 namespace objects
23 {
24 
27 struct presence
28 {
29  enum user_status
30  {
31  Online,
32  Idle,
33  DoNotDisturb,
34  Offline
35  };
36  static inline std::string to_string(user_status status)
37  {
38  switch (status)
39  {
40  case Idle:
41  return "idle";
42  break;
43  case DoNotDisturb:
44  return "dnd";
45  break;
46  case Offline:
47  return "offline";
48  break;
49  case Online:
50  default:
51  return "online";
52  break;
53  }
54  }
55 };
56 
58 inline void from_json(const nlohmann::json& j, presence& m)
59 {
60 
61 }
62 
63 inline void to_json(nlohmann::json& j, const presence& m)
64 {
65 
66 }
68 
69 }
70 
71 }
72 
73 }
Definition: presence.hpp:27