mastodon-cpp  0.104.0
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
228 {
229  const Json::Value &node = get("fields");
230 
231  if (node.isArray())
232  {
233  std::vector<Account::fields_pair> vec;
234  std::transform(node.begin(), node.end(), std::back_inserter(vec),
235  [](const Json::Value &value)
236  {
237  return Account::fields_pair
238  (value["name"].asString(),
239  value["value"].asString());
240  });
241  return vec;
242  }
243 
244  return {};
245 }
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
264 {
265  return get_string("note");
266 }
const string get_string(const string &key) const
Returns the value of key as std::string.
Definition: entity.cpp:173

◆ note() [2/2]

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

Sets note.

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

◆ privacy() [1/2]

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

Returns default privacy of new toots.

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

◆ privacy() [2/2]

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

Sets default privacy of new toots.

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

◆ sensitive() [1/2]

bool Account::Source::sensitive ( ) const

Returns if media is marked as sensitive by default.

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

◆ sensitive() [2/2]

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

Sets if media is marked as sensitive by default.

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

◆ 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.

223 {
224  return true;
225 }

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