mastodon-cpp  0.30.1
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...
 
const string 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:111
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
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()

const string PushSubscription::id ( ) const

Returns push subscription ID.

Since
0.14.0
27 {
28  return 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: