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

Metadata for attachments. More...

#include <attachment.hpp>

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

Public Member Functions

virtual bool valid () const override
 Returns true if the Entity holds valid data. More...
 
double aspect () const
 Aspect of original image. More...
 
double aspect_small () const
 Aspect of preview image. More...
 
uint64_t bitrate () const
 Returns the bitrate of a video. More...
 
const std::chrono::duration< double > duration () const
 Returns the duration of a video in seconds. More...
 
double frame_rate () const
 Returns the framerate of a video in frames per second. More...
 
uint64_t height () const
 Returns the height of the original image. More...
 
uint64_t height_small () const
 Returns the height of the preview image. More...
 
const string size () const
 Returns the size of the original image. More...
 
const string size_small () const
 Returns the size of the preview image. More...
 
uint64_t width () const
 Returns the width of the original image. More...
 
uint64_t width_small () const
 Returns the width of the preview 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

Metadata for attachments.

Since
0.106.0

Member Function Documentation

◆ aspect()

double Attachment::Meta::aspect ( ) const

Aspect of original image.

Since
0.106.0
133 {
134  return get_double("original.aspect");
135 }
double get_double(const string &key) const
Returns the value of key as double.
Definition: entity.cpp:202

◆ aspect_small()

double Attachment::Meta::aspect_small ( ) const

Aspect of preview image.

Since
0.106.0
138 {
139  return get_double("small.aspect");
140 }
double get_double(const string &key) const
Returns the value of key as double.
Definition: entity.cpp:202

◆ bitrate()

uint64_t Attachment::Meta::bitrate ( ) const

Returns the bitrate of a video.

Since
0.106.0
143 {
144  return get_uint64("original.bitrate");
145 }
uint64_t get_uint64(const string &key) const
Returns the value of key as std::uint64_t.
Definition: entity.cpp:188

◆ duration()

const std::chrono::duration< double > Attachment::Meta::duration ( ) const

Returns the duration of a video in seconds.

Since
0.106.0
148 {
149  const double sec = get_double("original.duration");
150 
151  return std::chrono::duration<double>(sec);
152 }
double get_double(const string &key) const
Returns the value of key as double.
Definition: entity.cpp:202

◆ Entity() [1/3]

Easy::Entity::Entity

Constructs an empty Entity object.

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

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

◆ frame_rate()

double Attachment::Meta::frame_rate ( ) const

Returns the framerate of a video in frames per second.

Since
0.106.0
155 {
156  string strframes = get_string("original.frame_rate");
157 
158  if (!strframes.empty())
159  {
160  std::size_t pos = strframes.find('/');
161  if (pos != std::string::npos)
162  {
163  std::uint16_t frames = std::stoul(strframes.substr(0, pos));
164  std::uint16_t divider = std::stoul(strframes.substr(pos + 1));
165 
166  return frames / divider;
167  }
168  }
169 
170  return 0.0;
171 }
const string get_string(const string &key) const
Returns the value of key as std::string.
Definition: entity.cpp:174

◆ height()

uint64_t Attachment::Meta::height ( ) const

Returns the height of the original image.

Since
0.106.0
174 {
175  return get_uint64("original.height");
176 }
uint64_t get_uint64(const string &key) const
Returns the value of key as std::uint64_t.
Definition: entity.cpp:188

◆ height_small()

uint64_t Attachment::Meta::height_small ( ) const

Returns the height of the preview image.

Since
0.106.0
179 {
180  return get_uint64("small.height");
181 }
uint64_t get_uint64(const string &key) const
Returns the value of key as std::uint64_t.
Definition: entity.cpp:188

◆ size()

const string Attachment::Meta::size ( ) const

Returns the size of the original image.

Since
0.106.0
184 {
185  return get_string("original.size");
186 }
const string get_string(const string &key) const
Returns the value of key as std::string.
Definition: entity.cpp:174

◆ size_small()

const string Attachment::Meta::size_small ( ) const

Returns the size of the preview image.

Since
0.106.0
189 {
190  return get_string("small.size");
191 }
const string get_string(const string &key) const
Returns the value of key as std::string.
Definition: entity.cpp:174

◆ valid()

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

128 {
129  return true;
130 }

◆ width()

uint64_t Attachment::Meta::width ( ) const

Returns the width of the original image.

Since
0.106.0
194 {
195  return get_uint64("original.width");
196 }
uint64_t get_uint64(const string &key) const
Returns the value of key as std::uint64_t.
Definition: entity.cpp:188

◆ width_small()

uint64_t Attachment::Meta::width_small ( ) const

Returns the width of the preview image.

Since
0.106.0
199 {
200  return get_uint64("small.width");
201 }
uint64_t get_uint64(const string &key) const
Returns the value of key as std::uint64_t.
Definition: entity.cpp:188

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