LeechCraft  0.6.70-15082-g543737046d
Modular cross-platform feature rich live environment.
irecentreleases.h
Go to the documentation of this file.
1 /**********************************************************************
2  * LeechCraft - modular cross-platform feature rich internet client.
3  * Copyright (C) 2006-2014 Georg Rudoy
4  *
5  * Distributed under the Boost Software License, Version 1.0.
6  * (See accompanying file LICENSE or copy at https://www.boost.org/LICENSE_1_0.txt)
7  **********************************************************************/
8 
9 #pragma once
10 
11 #include <QString>
12 #include <QDateTime>
13 #include <QUrl>
14 #include <util/sll/eitherfwd.h>
15 
16 template<typename>
17 class QFuture;
18 
19 namespace Media
20 {
28  struct AlbumRelease
29  {
32  QString Title_;
33 
36  QString Artist_;
37 
40  QDateTime Date_;
41 
45 
48  QUrl FullImage_;
49 
53  };
54 
61  class Q_DECL_EXPORT IRecentReleases
62  {
63  public:
64  virtual ~IRecentReleases () {}
65 
72 
86  virtual QFuture<Result_t> RequestRecentReleases (int number, bool withRecommends) = 0;
87 
95  virtual QString GetServiceName () const = 0;
96  };
97 }
98 
99 Q_DECLARE_INTERFACE (Media::IRecentReleases, "org.LeechCraft.Media.IRecentReleases/1.0")
Media::AlbumRelease::ReleaseURL_
QUrl ReleaseURL_
The page describing this release in more details.
Definition: irecentreleases.h:52
Media::AlbumRelease::ThumbImage_
QUrl ThumbImage_
Thumbnail image of this release (like album art).
Definition: irecentreleases.h:44
LC::Util::Either
Definition: either.h:33
Media::AlbumRelease::Artist_
QString Artist_
The artist performing this release.
Definition: irecentreleases.h:36
Media::IRecentReleases::~IRecentReleases
virtual ~IRecentReleases()
Definition: irecentreleases.h:64
Media::AlbumRelease
Describes a recent release.
Definition: irecentreleases.h:28
Media
Definition: audiostructs.h:16
Media::AlbumRelease::Date_
QDateTime Date_
The date of this release.
Definition: irecentreleases.h:40
Media::AlbumRelease::FullImage_
QUrl FullImage_
Full-size image of this release.
Definition: irecentreleases.h:48
QFuture
Definition: idownload.h:17
Media::AlbumRelease::Title_
QString Title_
The release title.
Definition: irecentreleases.h:32
eitherfwd.h
Media::IRecentReleases
Interface for plugins providing recent releases.
Definition: irecentreleases.h:61