mastodon-cpp  0.20.0
Public Member Functions | Protected Member Functions | List of all members
Mastodon::Easy::PushSubscription Class Reference

Class to hold push subscriptions. More...

#include <pushsubscription.hpp>

Inheritance diagram for Mastodon::Easy::PushSubscription:
Mastodon::Easy::Entity

Public Member Functions

 PushSubscription (const string &json)
 Constructs an PushSubscription object from a JSON string. More...
 
 PushSubscription ()
 Constructs an empty PushSubscription object. More...
 
virtual bool valid () const
 Returns true if the Entity holds valid data. More...
 
uint_fast64_t id () const
 Returns push subscription ID. More...
 
const string endpoint () const
 Returns the endpoint URL. More...
 
const string server_key () const
 Returns the server public key for signature verification. More...
 
const Easy::alertmap alerts () const
 Returns a map of 'notification event type' and 'push is requested or not'. More...
 
- Public Member Functions inherited from Mastodon::Easy::Entity
 Entity (const string &json)
 Constructs an Entity object from a JSON string. More...
 
 Entity ()
 Constructs an empty Entity object. More...
 
void from_string (const string &json)
 Replaces the Entity with a new one from a JSON string. More...
 
const Json::Value to_object () const
 Returns the JSON object of the Entity. More...
 
const string error () const
 Returns error string sent by the server. More...
 
bool was_set () const
 Returns true if the last requested value was set, false if it was unset. More...
 

Protected Member Functions

bool s_to_b (const string &str) const
 Converts string to bool. More...
 
- Protected Member Functions inherited from Mastodon::Easy::Entity
const Json::Value get (const string &key) const
 Returns the value of key as Json::Value. More...
 
const string get_string (const string &key) const
 Returns the value of key as std::string. More...
 
uint_fast64_t get_uint64 (const string &key) const
 Returns the value of key as std::uint_fast64_t. More...
 
double get_double (const string &key) const
 Returns the value of key as double. More...
 
bool get_bool (const string &key) const
 Returns the value of key as bool. More...
 
const system_clock::time_point get_time_point (const string &key) const
 Returns the value of key as time_point. More...
 
const std::vector< string > get_vector (const string &key) const
 Returns the value of key as vector. More...
 
void set (const string &key, const Json::Value &value)
 Sets the value of key. More...
 
std::uint_fast64_t stouint64 (const string &str) const
 
bool check_valid (const std::vector< string > &attributes) const
 Checks if an Entity is valid. More...
 

Detailed Description

Class to hold push subscriptions.

Since
0.14.0

Constructor & Destructor Documentation

◆ PushSubscription() [1/2]

PushSubscription::PushSubscription ( const string &  json)
explicit

Constructs an PushSubscription object from a JSON string.

Parameters
jsonJSON string
Since
0.14.0
23 : Entity(json)
24 {}
Entity()
Constructs an empty Entity object.
Definition: entity.cpp:65

◆ PushSubscription() [2/2]

PushSubscription::PushSubscription ( )

Constructs an empty PushSubscription object.

Since
0.14.0
32 : Entity()
33 {}
Entity()
Constructs an empty Entity object.
Definition: entity.cpp:65

Member Function Documentation

◆ alerts()

const Easy::alertmap PushSubscription::alerts ( ) const

Returns a map of 'notification event type' and 'push is requested or not'.

Since
0.14.0
58 {
60  const Json::Value node = get("alerts");
61  for (auto it = node.begin(); it != node.end(); ++it)
62  {
63  const string &str = it.name();
65  if (str.compare("mention") == 0)
66  {
67  type = notification_type::Mention;
68  }
69  else if (str.compare("reblog") == 0)
70  {
71  type = notification_type::Reblog;
72  }
73  else if (str.compare("favourite") == 0)
74  {
75  type = notification_type::Favourite;
76  }
77  else if (str.compare("follow") == 0)
78  {
79  type = notification_type::Follow;
80  }
81  else
82  {
83  type = notification_type::Undefined;
84  }
85 
86  alerts.insert({{ type, s_to_b(it->asString()) }});
87  }
88  return alerts;
89 }
notification_type
Describes the notification type.
Definition: easy.hpp:110
std::map< Easy::notification_type, bool > alertmap
Map of &#39;notification type&#39; and &#39;push is requested or not&#39;.
Definition: easy.hpp:133
bool s_to_b(const string &str) const
Converts string to bool.
Definition: pushsubscription.cpp:91
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

◆ endpoint()

const string PushSubscription::endpoint ( ) const

Returns the endpoint URL.

Since
0.14.0
48 {
49  return get_string("endpoint");
50 }
const string get_string(const string &key) const
Returns the value of key as std::string.
Definition: entity.cpp:134

◆ id()

uint_fast64_t PushSubscription::id ( ) const

Returns push subscription ID.

Since
0.14.0
27 {
28  return stouint64(get_string("id"));
29 }
const string get_string(const string &key) const
Returns the value of key as std::string.
Definition: entity.cpp:134

◆ s_to_b()

bool PushSubscription::s_to_b ( const string &  str) const
protected

Converts string to bool.

Returns
true if str is equal to "true", false otherwise
92 {
93  if (str.compare("true") == 0)
94  {
95  return true;
96  }
97  else
98  {
99  return false;
100  }
101 }

◆ server_key()

const string PushSubscription::server_key ( ) const

Returns the server public key for signature verification.

Since
0.14.0
53 {
54  return get_string("server_key");
55 }
const string get_string(const string &key) const
Returns the value of key as std::string.
Definition: entity.cpp:134

◆ valid()

bool PushSubscription::valid ( ) const
virtual

Returns true if the Entity holds valid data.

Since
before 0.11.0 (virtual since 0.18.2)

Implements Mastodon::Easy::Entity.

36 {
37  const std::vector<string> attributes =
38  {{
39  "id",
40  "endpoint",
41  "server_key"
42  }};
43 
44  return Entity::check_valid(attributes);
45 }
bool check_valid(const std::vector< string > &attributes) const
Checks if an Entity is valid.
Definition: entity.cpp:69

The documentation for this class was generated from the following files: