mastodon-cpp  0.101.1
Public Member Functions | List of all members
Mastodon::Easy::Account::Source Class Reference

Class to hold source attribute. More...

#include <account.hpp>

Inheritance diagram for Mastodon::Easy::Account::Source:
Mastodon::Easy::Entity

Public Member Functions

virtual bool valid () const override
 Returns true if the Entity holds valid data. More...
 
const std::vector< fields_pairfields () const
 Returns metadata fields. More...
 
Source fields (std::vector< fields_pair > &fields)
 Sets metadata fields. More...
 
const string note () const
 Returns note in plain text. More...
 
Source note (const string &note)
 Sets note. More...
 
visibility_type privacy () const
 Returns default privacy of new toots. More...
 
Source privacy (const visibility_type &privacy)
 Sets default privacy of new toots. More...
 
bool sensitive () const
 Returns if media is marked as sensitive by default. More...
 
Source sensitive (const bool &sensitive)
 Sets if media is marked as sensitive by default. 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 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 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 source attribute.

Since
0.18.5

Member Function Documentation

◆ Entity() [1/3]

Easy::Entity::Entity
explicit

Constructs an Entity object from a JSON string.

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

◆ Entity() [2/3]

Easy::Entity::Entity
explicit

Constructs an Entity object from a JSON object.

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

◆ Entity() [3/3]

Easy::Entity::Entity

Constructs an empty Entity object.

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

◆ fields() [1/2]

const std::vector< Account::fields_pair > Account::Source::fields ( ) const

Returns metadata fields.

Since
0.18.5
227 {
228  const Json::Value &node = get("fields");
229 
230  if (node.isArray())
231  {
232  std::vector<Account::fields_pair> vec;
233  std::transform(node.begin(), node.end(), std::back_inserter(vec),
234  [](const Json::Value &value)
235  {
236  return Account::fields_pair
237  (value["name"].asString(),
238  value["value"].asString());
239  });
240  return vec;
241  }
242 
243  return {};
244 }
std::pair< const string, const string > fields_pair
Describes a field. Format: name, value.
Definition: account.hpp:56

◆ fields() [2/2]

Source Mastodon::Easy::Account::Source::fields ( std::vector< fields_pair > &  fields)

Sets metadata fields.

Since
0.18.5

◆ note() [1/2]

const string Account::Source::note ( ) const

Returns note in plain text.

Since
0.18.5
263 {
264  return get_string("note");
265 }
const string get_string(const string &key) const
Returns the value of key as std::string.
Definition: entity.cpp:159

◆ note() [2/2]

Account::Source Account::Source::note ( const string &  note)

Sets note.

Since
0.18.5
268 {
269  set("note", Json::Value(note));
270  return *this;
271 }
const string note() const
Returns note in plain text.
Definition: account.cpp:262

◆ privacy() [1/2]

Easy::visibility_type Account::Source::privacy ( ) const

Returns default privacy of new toots.

Since
0.18.5
274 {
275  const string strprivacy = get_string("privacy");
276  if (strprivacy.compare("public") == 0)
277  return visibility_type::Public;
278  else if (strprivacy.compare("unlisted") == 0)
279  return visibility_type::Unlisted;
280  else if (strprivacy.compare("private") == 0)
281  return visibility_type::Private;
282  else if (strprivacy.compare("direct") == 0)
283  return visibility_type::Direct;
284 
285  ttdebug << "Could not get data: source.privacy\n";
286  return visibility_type::Undefined;
287 }
const string get_string(const string &key) const
Returns the value of key as std::string.
Definition: entity.cpp:159

◆ privacy() [2/2]

Account::Source Account::Source::privacy ( const visibility_type privacy)

Sets default privacy of new toots.

Since
0.18.5
290 {
291  string strprivacy = "";
292  switch (privacy)
293  {
294  case visibility_type::Public:
295  {
296  strprivacy = "public";
297  break;
298  }
299  case visibility_type::Unlisted:
300  {
301  strprivacy = "unlisted";
302  break;
303  }
304  case visibility_type::Private:
305  {
306  strprivacy = "private";
307  break;
308  }
309  case visibility_type::Direct:
310  {
311  strprivacy = "direct";
312  break;
313  }
314  default:
315  {
316  strprivacy = "undefined";
317  break;
318  }
319  }
320  set("privacy", Json::Value(strprivacy));
321  return *this;
322 }
visibility_type privacy() const
Returns default privacy of new toots.
Definition: account.cpp:273

◆ sensitive() [1/2]

bool Account::Source::sensitive ( ) const

Returns if media is marked as sensitive by default.

Since
0.18.5
325 {
326  return get_bool("sensitive");
327 }
bool get_bool(const string &key) const
Returns the value of key as bool.
Definition: entity.cpp:201

◆ sensitive() [2/2]

Account::Source Account::Source::sensitive ( const bool &  sensitive)

Sets if media is marked as sensitive by default.

Since
0.18.5
330 {
331  set("source", Json::Value(sensitive));
332  return *this;
333 }
bool sensitive() const
Returns if media is marked as sensitive by default.
Definition: account.cpp:324

◆ valid()

bool Account::Source::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.

222 {
223  return true;
224 }

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