17 #ifndef MASTODON_EASY_CPP_HPP 18 #define MASTODON_EASY_CPP_HPP 26 #include <jsoncpp/json/json.h> 30 #include "mastodon-cpp.hpp" 32 #include <mastodon-cpp/mastodon-cpp.hpp> 36 using std::uint_fast64_t;
37 using std::uint_fast16_t;
38 using std::chrono::system_clock;
133 typedef std::map<Easy::notification_type, bool>
alertmap;
167 explicit Link(
const string &link_header);
174 uint_fast64_t
next()
const;
181 uint_fast64_t
max_id()
const;
188 uint_fast64_t
prev()
const;
213 explicit Easy(
const string &instance,
const string &access_token);
235 static const std::vector<stream_event>
263 static const string strtime_utc(
const system_clock::time_point &timepoint,
264 const string &format);
273 static const string strtime_local(
const system_clock::time_point &timepoint,
274 const string &format);
314 explicit Entity(
const string &json);
346 virtual bool valid()
const = 0;
353 const string error()
const;
392 const Json::Value
get(
const string &key)
const;
399 const string get_string(
const string &key)
const;
406 uint_fast64_t
get_uint64(
const string &key)
const;
421 bool get_bool(
const string &key)
const;
428 const system_clock::time_point
get_time_point(
const string &key)
const;
436 const std::vector<string>
get_vector(
const string &key)
const;
443 void set(
const string &key,
const Json::Value &value);
445 std::uint_fast64_t stouint64(
const string &str)
const;
456 bool check_valid(
const std::vector<string> &attributes)
const;
460 mutable bool _was_set;
464 inline static const string strtime
465 (
const system_clock::time_point &timepoint,
466 const string &format,
const bool &utc);
470 #endif // MASTODON_EASY_CPP_HPP Class for the Mastodon API.
Definition: mastodon-cpp.hpp:77
static const string strtime_utc(const system_clock::time_point &timepoint, const string &format)
Converts a time_point to a string.
Definition: easy.cpp:85
Class to hold tags.
Definition: tag.hpp:44
uint_fast64_t next() const
Returns max_id.
Definition: easy.cpp:136
Link(const string &link_header)
Definition: easy.cpp:118
Entity()
Constructs an empty Entity object.
Definition: entity.cpp:65
Class to hold the Link-header.
Definition: easy.hpp:159
Class to hold notifications.
Definition: notification.hpp:48
uint_fast64_t prev() const
Returns since_id.
Definition: easy.cpp:146
Class to hold attachments.
Definition: attachment.hpp:44
Class to hold cards.
Definition: card.hpp:42
card_type
Describes the card type.
Definition: easy.hpp:96
Child of Mastodon::API with abstract methods.
Definition: easy.hpp:47
uint_fast64_t since_id() const
Returns since_id.
Definition: easy.cpp:151
uint_fast64_t max_id() const
Returns max_id.
Definition: easy.cpp:141
Class to hold instances.
Definition: instance.hpp:45
double get_double(const string &key) const
Returns the value of key as double.
Definition: entity.cpp:162
virtual bool valid() const =0
Returns true if the Entity holds valid data.
Class to hold push subscriptions.
Definition: pushsubscription.hpp:43
const Status send_post(const Status &status, uint_fast16_t &error)
Sends a toot.
Definition: simple_calls.cpp:29
static const std::vector< string > json_array_to_vector(const string &json)
Turns a JSON array into a vector of strings.
Definition: easy.cpp:31
Easy(const string &instance, const string &access_token)
Constructs a new Easy object.
Definition: easy.cpp:27
visibility_type
Describes visibility of toots.
Definition: easy.hpp:68
attachment_type
Describes the attachment type.
Definition: easy.hpp:82
bool was_set() const
Returns true if the last requested value was set, false if it was unset.
Definition: entity.cpp:88
notification_type
Describes the notification type.
Definition: easy.hpp:110
const Json::Value to_object() const
Returns the JSON object of the Entity.
Definition: entity.cpp:60
Class to hold mentions.
Definition: mention.hpp:43
std::map< Easy::notification_type, bool > alertmap
Map of 'notification type' and 'push is requested or not'.
Definition: easy.hpp:133
Class to hold reports.
Definition: report.hpp:42
static const string strtime_local(const system_clock::time_point &timepoint, const string &format)
See strtime_utc.
Definition: easy.cpp:91
event_type
Describes the event type.
Definition: easy.hpp:55
uint_fast64_t get_uint64(const string &key) const
Returns the value of key as std::uint_fast64_t.
Definition: entity.cpp:148
bool check_valid(const std::vector< string > &attributes) const
Checks if an Entity is valid.
Definition: entity.cpp:69
Class to hold statuses.
Definition: status.hpp:59
Class to hold accounts.
Definition: account.hpp:46
Class to hold contexts.
Definition: context.hpp:43
void from_string(const string &json)
Replaces the Entity with a new one from a JSON string.
Definition: entity.cpp:36
bool get_bool(const string &key) const
Returns the value of key as bool.
Definition: entity.cpp:176
const Status send_toot(const Status &status, uint_fast16_t &error)
Alias for send_post()
Definition: simple_calls.cpp:24
Definition: mastodon-cpp.hpp:52
Base class for all entities.
Definition: easy.hpp:304
const string error() const
Returns error string sent by the server.
Definition: entity.cpp:83
Class to hold results.
Definition: results.hpp:47
Class to hold relationships.
Definition: relationship.hpp:42
Class to hold lists.
Definition: list.hpp:43
Class to hold emojis.
Definition: emoji.hpp:40
static const std::vector< stream_event > parse_stream(const std::string &streamdata)
Split stream into a vector of events.
Definition: easy.cpp:53
const string get_string(const string &key) const
Returns the value of key as std::string.
Definition: entity.cpp:134
const system_clock::time_point get_time_point(const string &key) const
Returns the value of key as time_point.
Definition: entity.cpp:191
const std::vector< string > get_vector(const string &key) const
Returns the value of key as vector.
Definition: entity.cpp:210
const Link get_link() const
Gets the links from the last answer.
Definition: easy.cpp:80
Class to hold applications.
Definition: application.hpp:40
std::pair< event_type, string > stream_event
Used for stream events.
Definition: easy.hpp:124