2
* Copyright (C) 2016 Canonical, Ltd.
4
* This library is free software; you can redistribute it and/or modify it under
5
* the terms of version 3 of the GNU Lesser General Public License as published
6
* by the Free Software Foundation.
8
* This library is distributed in the hope that it will be useful, but WITHOUT
9
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
10
* FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
13
* You should have received a copy of the GNU Lesser General Public License
14
* along with this program. If not, see <http://www.gnu.org/licenses/>.
16
* Author: Gary Wang <gary.wang@canonical.com>
19
#ifndef MCLOUD_API_VIDEO_H_
20
#define MCLOUD_API_VIDEO_H_
22
#include <mcloud/api/resource.h>
35
class CloudItem: public Resource {
37
typedef std::shared_ptr<CloudItem> Ptr;
39
Video(const Json::Value &data);
41
virtual ~Video() = default;
43
const std::string & id() const override;
45
const std::string & name() const override;
47
const std::string & suffix() const override;
49
const Type content_type() const override;
51
const int64_t content_size() const override;
53
const std::time_t & updatedate() const override;
55
const std::string & thumbnail_url() const override;
57
const std::string & big_thumbnail_url() const override;
59
const std::string & parent_catalog_id() const;
61
bool is_shared() const;
63
Kind kind() const override;
74
int64_t content_size_;
76
std::time_t updatedate_;
78
std::string thumbnail_url_;
80
std::string big_thumbnail_url_;
82
std::string parent_catalog_id_;
91
#endif // YOUTUBE_API_VIDEO_H_