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

Class to hold attachments. More...

#include <attachment.hpp>

Inheritance diagram for Mastodon::Easy::Attachment:
Mastodon::Easy::Entity

Classes

class  Meta
 Metadata for attachments. More...
 

Public Member Functions

virtual bool valid () const override
 Returns true if the Entity holds valid data. More...
 
const string description () const
 Returns the image description. More...
 
Attachment description (const string &description)
 Sets the image description. More...
 
const string file () const
 Gets file to upload. More...
 
Attachment file (const string &file)
 Sets file to upload. More...
 
const std::array< double, 2 > focus () const
 Returns the focus point (x, y) More...
 
Attachment focus (const std::array< double, 2 > &focus)
 Sets the focus point (x, y) More...
 
const string id () const
 Returns the ID of the attachment. More...
 
const Meta meta () const
 Returns metadata about the attachment. More...
 
const string preview_url () const
 Returns the URL of the preview image. More...
 
const string remote_url () const
 Returns the remote URL of the original image. More...
 
const string text_url () const
 Returns shorter URL for the image. More...
 
attachment_type type () const
 Returns attachment type. More...
 
const string url () const
 Returns URL of the locally hosted version of the image. 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 attachments.

Since
before 0.11.0

Member Function Documentation

◆ description() [1/2]

const string Attachment::description ( ) const

Returns the image description.

Since
before 0.11.0
36 {
37  return get_string("description");
38 }
const string get_string(const string &key) const
Returns the value of key as std::string.
Definition: entity.cpp:174

◆ description() [2/2]

Attachment Attachment::description ( const string &  description)

Sets the image description.

Since
0.17.0
41 {
42  set("description", Json::Value(description));
43  return *this;
44 }
const string description() const
Returns the image description.
Definition: attachment.cpp:35
void set(const string &key, const Json::Value &value)
Sets the value of key.
Definition: entity.cpp:263

◆ Entity() [1/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() [2/3]

Easy::Entity::Entity

Constructs an empty Entity object.

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

◆ Entity() [3/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

◆ file() [1/2]

const string Attachment::file ( ) const

Gets file to upload.

Since
0.17.0
47 {
48  return get_string("file");
49 }
const string get_string(const string &key) const
Returns the value of key as std::string.
Definition: entity.cpp:174

◆ file() [2/2]

Attachment Attachment::file ( const string &  file)

Sets file to upload.

Since
0.17.0
Parameters
fileFilename
52 {
53  set("file", Json::Value(file));
54  return *this;
55 }
void set(const string &key, const Json::Value &value)
Sets the value of key.
Definition: entity.cpp:263
const string file() const
Gets file to upload.
Definition: attachment.cpp:46

◆ focus() [1/2]

const std::array< double, 2 > Attachment::focus ( ) const

Returns the focus point (x, y)

    Values are between -1.0 and 1.0.
Since
before 0.11.0
59 {
60  const Json::Value x = get("meta.focus.x");
61  const Json::Value y = get("meta.focus.y");
62  if (x.isDouble() && y.isDouble())
63  {
64  return
65  {{
66  x.asDouble(),
67  y.asDouble()
68  }};
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

◆ focus() [2/2]

Attachment Attachment::focus ( const std::array< double, 2 > &  focus)

Sets the focus point (x, y)

    Values are between -1.0 and 1.0.
Since
0.17.0
75 {
76  set("meta.focus.x", Json::Value(focus[0]));
77  set("meta.focus.y", Json::Value(focus[1]));
78  return *this;
79 }
void set(const string &key, const Json::Value &value)
Sets the value of key.
Definition: entity.cpp:263
const std::array< double, 2 > focus() const
Returns the focus point (x, y)
Definition: attachment.cpp:58

◆ id()

const string Attachment::id ( ) const

Returns the ID of the attachment.

Since
before 0.11.0
82 {
83  return get_string("id");
84 }
const string get_string(const string &key) const
Returns the value of key as std::string.
Definition: entity.cpp:174

◆ meta()

const Attachment::Meta Attachment::meta ( ) const

Returns metadata about the attachment.

Since
0.106.0
87 {
88  return Meta(get("meta"));
89 }
const Json::Value get(const string &key) const
Returns the value of key as Json::Value.
Definition: entity.cpp:133

◆ preview_url()

const string Attachment::preview_url ( ) const

Returns the URL of the preview image.

Since
before 0.11.0
92 {
93  return get_string("preview_url");
94 }
const string get_string(const string &key) const
Returns the value of key as std::string.
Definition: entity.cpp:174

◆ remote_url()

const string Attachment::remote_url ( ) const

Returns the remote URL of the original image.

Since
before 0.11.0
97 {
98  return get_string("remote_url");
99 }
const string get_string(const string &key) const
Returns the value of key as std::string.
Definition: entity.cpp:174

◆ text_url()

const string Attachment::text_url ( ) const

Returns shorter URL for the image.

Since
before 0.11.0
102 {
103  return get_string("text_url");
104 }
const string get_string(const string &key) const
Returns the value of key as std::string.
Definition: entity.cpp:174

◆ type()

Easy::attachment_type Attachment::type ( ) const

Returns attachment type.

Since
before 0.11.0
107 {
108  const string strtype = get_string("type");
109  if (strtype.compare("image") == 0)
110  return attachment_type::Image;
111  else if (strtype.compare("video") == 0)
112  return attachment_type::Video;
113  else if (strtype.compare("gifv") == 0)
114  return attachment_type::Gifv;
115  else if (strtype.compare("unknown") == 0)
116  return attachment_type::Unknown;
117 
118  ttdebug << "Could not get data: type\n";
119  return attachment_type::Undefined;
120 }
const string get_string(const string &key) const
Returns the value of key as std::string.
Definition: entity.cpp:174

◆ url()

const string Attachment::url ( ) const

Returns URL of the locally hosted version of the image.

Since
before 0.11.0
123 {
124  return get_string("url");
125 }
const string get_string(const string &key) const
Returns the value of key as std::string.
Definition: entity.cpp:174

◆ valid()

bool Attachment::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.

25 {
26  return Entity::check_valid(
27  {
28  "id",
29  "type",
30  "url",
31  "preview_url"
32  });
33 }
bool check_valid(const std::vector< string > &attributes) const
Checks if an Entity is valid.
Definition: entity.cpp:102

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