mastodon-cpp  0.21.0
pushsubscription.hpp
1 /* This file is part of mastodon-cpp.
2  * Copyright © 2018 tastytea <tastytea@tastytea.de>
3  *
4  * This program is free software: you can redistribute it and/or modify
5  * it under the terms of the GNU General Public License as published by
6  * the Free Software Foundation, version 3.
7  *
8  * This program is distributed in the hope that it will be useful,
9  * but WITHOUT ANY WARRANTY; without even the implied warranty of
10  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11  * GNU General Public License for more details.
12  *
13  * You should have received a copy of the GNU General Public License
14  * along with this program. If not, see <http://www.gnu.org/licenses/>.
15  */
16 
17 #ifndef MASTODON_CPP_EASY_PUSHSUBSCRIPTION_HPP
18 #define MASTODON_CPP_EASY_PUSHSUBSCRIPTION_HPP
19 
20 #include <string>
21 #include <cstdint>
22 #include <map>
23 
24 // If we are compiling mastodon-cpp, use another include path
25 #ifdef MASTODON_CPP
26  #include "mastodon-cpp.hpp"
27  #include "easy/easy.hpp"
28 #else
29  #include <mastodon-cpp/mastodon-cpp.hpp>
30  #include <mastodon-cpp/easy/easy.hpp>
31 #endif
32 
33 using std::string;
34 using std::uint_fast64_t;
35 
36 namespace Mastodon
37 {
44  {
45  public:
53  explicit PushSubscription(const string &json);
54 
61 
62  virtual bool valid() const;
63 
69  uint_fast64_t id() const;
70 
76  const string endpoint() const;
77 
83  const string server_key() const;
84 
85  // TODO: Look up what the data looks like
92  const Easy::alertmap alerts() const;
93 
94  protected:
100  bool s_to_b(const string &str) const;
101 };
102 }
103 
104 #endif // MASTODON_CPP_EASY_PUSHSUBSCRIPTION_HPP
const string server_key() const
Returns the server public key for signature verification.
Definition: pushsubscription.cpp:52
Class to hold push subscriptions.
Definition: pushsubscription.hpp:43
PushSubscription()
Constructs an empty PushSubscription object.
Definition: pushsubscription.cpp:31
std::map< Easy::notification_type, bool > alertmap
Map of &#39;notification type&#39; and &#39;push is requested or not&#39;.
Definition: easy.hpp:134
bool s_to_b(const string &str) const
Converts string to bool.
Definition: pushsubscription.cpp:91
uint_fast64_t id() const
Returns push subscription ID.
Definition: pushsubscription.cpp:26
Definition: mastodon-cpp.hpp:52
Base class for all entities.
Definition: easy.hpp:319
virtual bool valid() const
Returns true if the Entity holds valid data.
Definition: pushsubscription.cpp:35
const Easy::alertmap alerts() const
Returns a map of &#39;notification event type&#39; and &#39;push is requested or not&#39;.
Definition: pushsubscription.cpp:57
const string endpoint() const
Returns the endpoint URL.
Definition: pushsubscription.cpp:47