mastodon-cpp  0.104.0
card.hpp
1 /* This file is part of mastodon-cpp.
2  * Copyright © 2018, 2019 tastytea <tastytea@tastytea.de>
3  *
4  * This program is free software: you can redistribute it and/or modify
5  * it under the terms of the GNU General Public License as published by
6  * the Free Software Foundation, version 3.
7  *
8  * This program is distributed in the hope that it will be useful,
9  * but WITHOUT ANY WARRANTY; without even the implied warranty of
10  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11  * GNU General Public License for more details.
12  *
13  * You should have received a copy of the GNU General Public License
14  * along with this program. If not, see <http://www.gnu.org/licenses/>.
15  */
16 
17 #ifndef MASTODON_CPP_EASY_CARD_HPP
18 #define MASTODON_CPP_EASY_CARD_HPP
19 
20 #include <string>
21 #include <cstdint>
22 
23 // If we are compiling mastodon-cpp, use another include path
24 #ifdef MASTODON_CPP
25  #include "mastodon-cpp.hpp"
26  #include "easy/entity.hpp"
27 #else
28  #include <mastodon-cpp/mastodon-cpp.hpp>
29  #include <mastodon-cpp/easy/entity.hpp>
30 #endif
31 
32 using std::string;
33 using std::uint64_t;
34 
35 namespace Mastodon
36 {
37 namespace Easy
38 {
44  class Card : public Entity
45  {
46  public:
47  using Entity::Entity;
48 
49  virtual bool valid() const override;
50 
56  const string author_name() const;
57 
63  const string author_url() const;
64 
70  const string description() const;
71 
77  uint64_t height() const;
78 
84  const string html() const;
85 
91  const string image() const;
92 
98  const string provider_name() const;
99 
105  const string provider_url() const;
106 
112  const string title() const;
113 
119  Easy::card_type type() const;
120 
126  const string url() const;
127 
133  uint64_t width() const;
134  };
135 }
136 }
137 
138 #endif // MASTODON_CPP_EASY_CARD_HPP
const string provider_url() const
Returns the URL of the provider.
Definition: card.cpp:71
Entity()
Constructs an empty Entity object.
Definition: entity.cpp:42
Class to hold cards.
Definition: card.hpp:44
Easy::card_type type() const
Returns the type of the card.
Definition: card.cpp:81
const string title() const
Returns the title.
Definition: card.cpp:76
const string description() const
Returns the description.
Definition: card.cpp:46
const string author_url() const
Returns the URL of the author.
Definition: card.cpp:41
uint64_t height() const
Returns the height of the card.
Definition: card.cpp:51
const string url() const
Returns the URL associated with the card.
Definition: card.cpp:97
const string author_name() const
Returns the name of the author.
Definition: card.cpp:36
const string provider_name() const
Returns the name of the provider.
Definition: card.cpp:66
virtual bool valid() const override
Returns true if the Entity holds valid data.
Definition: card.cpp:23
uint64_t width() const
Returns the width of the card.
Definition: card.cpp:102
Collection of things to interface with server software that implements the Mastodon API...
Definition: mastodon-cpp.hpp:52
Base class for all entities.
Definition: entity.hpp:41
const string image() const
Returns the URL of the image associated with the card.
Definition: card.cpp:61
const string html() const
Returns the HTML.
Definition: card.cpp:56
card_type
Describes the card type.
Definition: types_easy.hpp:82