mastodon-cpp  0.110.0
Public Member Functions | List of all members
Mastodon::Easy::Filter Class Reference

Class to hold filters. More...

#include <filter.hpp>

Inheritance diagram for Mastodon::Easy::Filter:
Mastodon::Easy::Entity

Public Member Functions

virtual bool valid () const override
 Returns true if the Entity holds valid data. More...
 
const string id () const
 Returns the id of the filter. More...
 
const string phrase () const
 Returns the phrase to filter. More...
 
const vector< Easy::context_typecontext () const
 Returns the contexts in which to filter. More...
 
const Easy::time_type expires_at () const
 Returns the expiration time of the filter. More...
 
bool irreversible () const
 Returns if the phrase should disappear irreversibly. More...
 
bool whole_word () const
 Returns if the filter should only be applied if it matches the whole word. More...
 
 Entity (const string &json)
 Constructs an Entity object from a JSON string. More...
 
 Entity (const Json::Value &object)
 Constructs an Entity object from a JSON object. More...
 
 Entity ()
 Constructs an empty Entity object. More...
 
- Public Member Functions inherited from Mastodon::Easy::Entity
 Entity (const string &json)
 Constructs an Entity object from a JSON string. More...
 
 Entity (const Json::Value &object)
 Constructs an Entity object from a JSON object. More...
 
 Entity ()
 Constructs an empty Entity object. More...
 
virtual ~Entity ()
 Destroys the object. More...
 
 operator const Json::Value () const
 
void from_string (const string &json)
 Replaces the Entity with a new one from a JSON string. More...
 
const string to_string () const
 Returns the JSON of the Entity as formatted string. More...
 
void from_object (const Json::Value &object)
 Replaces the Entity with a new one from a JSON object. 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...
 

Additional Inherited Members

- 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...
 
uint64_t get_uint64 (const string &key) const
 Returns the value of key as std::uint64_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 Easy::time_type get_time (const string &key) const
 Returns the value of key as Easy::time. 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::uint64_t stouint64 (const string &str) const
 Returns value of str as uint64_t.
 
bool check_valid (const std::vector< string > &attributes) const
 Checks if an Entity is valid. More...
 

Detailed Description

Class to hold filters.

Since
0.104.0

Member Function Documentation

◆ context()

const vector< Easy::context_type > Filter::context ( ) const

Returns the contexts in which to filter.

Since
0.104.0
48 {
49  const Json::Value node = get("context");
50  if (node.isArray())
51  {
52  vector<Easy::context_type> vec;
53  std::transform(node.begin(), node.end(), std::back_inserter(vec),
54  [](const Json::Value &value)
55  {
56  const string strtype = value.asString();
57  if (strtype == "home")
58  return Easy::context_type::Home;
59  else if (strtype == "notifications")
60  return Easy::context_type::Notifications;
61  else if (strtype == "public")
62  return Easy::context_type::Public;
63  else if (strtype == "thread")
64  return Easy::context_type::Thread;
65  else
66  return context_type::Undefined;
67  });
68  return vec;
69  }
70 
71  return {};
72 }
const Json::Value get(const string &key) const
Returns the value of key as Json::Value.
Definition: entity.cpp:133

◆ Entity() [1/3]

Easy::Entity::Entity
explicit

Constructs an Entity object from a JSON string.

Parameters
jsonJSON string
Since
before 0.11.0
32 : _tree(Json::nullValue)
33 ,_was_set(false)
34 {
35  from_string(json);
36 }
void from_string(const string &json)
Replaces the Entity with a new one from a JSON string.
Definition: entity.cpp:56

◆ Entity() [2/3]

Easy::Entity::Entity
explicit

Constructs an Entity object from a JSON object.

Parameters
objectJSON object
Since
0.100.0
39 : _tree(object)
40 ,_was_set(false)
41 {}

◆ Entity() [3/3]

Easy::Entity::Entity

Constructs an empty Entity object.

Since
before 0.11.0
44 : _tree(Json::nullValue)
45 , _was_set(false)
46 {}

◆ expires_at()

const Easy::time_type Filter::expires_at ( ) const

Returns the expiration time of the filter.

Since
0.104.0
75 {
76  return get_time("expires_at");
77 }
const Easy::time_type get_time(const string &key) const
Returns the value of key as Easy::time.
Definition: entity.cpp:230

◆ id()

const string Filter::id ( ) const

Returns the id of the filter.

Since
0.104.0
38 {
39  return get_string("id");
40 }
const string get_string(const string &key) const
Returns the value of key as std::string.
Definition: entity.cpp:174

◆ irreversible()

bool Filter::irreversible ( ) const

Returns if the phrase should disappear irreversibly.

If set to true, the filtered posts will be hidden even if filter is later removed.

Since
0.104.0
80 {
81  return get_bool("irreversible");
82 }
bool get_bool(const string &key) const
Returns the value of key as bool.
Definition: entity.cpp:216

◆ phrase()

const string Filter::phrase ( ) const

Returns the phrase to filter.

Since
0.104.0
43 {
44  return get_string("phrase");
45 }
const string get_string(const string &key) const
Returns the value of key as std::string.
Definition: entity.cpp:174

◆ valid()

bool Filter::valid ( ) const
overridevirtual

Returns true if the Entity holds valid data.

Since
before 0.11.0 (virtual since 0.18.2)

Implements Mastodon::Easy::Entity.

26 {
27  return Entity::check_valid(
28  {
29  "id",
30  "phrase",
31  "context",
32  "irreversible",
33  "whole_word"
34  });
35 }
bool check_valid(const std::vector< string > &attributes) const
Checks if an Entity is valid.
Definition: entity.cpp:102

◆ whole_word()

bool Filter::whole_word ( ) const

Returns if the filter should only be applied if it matches the whole word.

Since
0.104.0
85 {
86  return get_bool("whole_word");
87 }
bool get_bool(const string &key) const
Returns the value of key as bool.
Definition: entity.cpp:216

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