LeechCraft
0.6.70-16373-g319c272718
Modular cross-platform feature rich live environment.
Loading...
Searching...
No Matches
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
44
QUrl
ThumbImage_
;
45
48
QUrl
FullImage_
;
49
52
QUrl
ReleaseURL_
;
53
};
54
61
class
Q_DECL_EXPORT
IRecentReleases
62
{
63
public
:
64
virtual
~IRecentReleases
() {}
65
71
using
Result_t
=
LC::Util::Either<QString, QList<AlbumRelease>
>;
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"
)
LC::Util::Either
Definition
either.h:22
Media::IRecentReleases
Interface for plugins providing recent releases.
Definition
irecentreleases.h:62
Media::IRecentReleases::RequestRecentReleases
virtual QFuture< Result_t > RequestRecentReleases(int number, bool withRecommends)=0
Requests the recent releases.
Media::IRecentReleases::~IRecentReleases
virtual ~IRecentReleases()
Definition
irecentreleases.h:64
Media::IRecentReleases::GetServiceName
virtual QString GetServiceName() const =0
Returns the service name.
QFuture
Definition
idownload.h:17
eitherfwd.h
Media
Definition
audiostructs.h:17
Media::AlbumRelease
Describes a recent release.
Definition
irecentreleases.h:29
Media::AlbumRelease::FullImage_
QUrl FullImage_
Full-size image of this release.
Definition
irecentreleases.h:48
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
Media::AlbumRelease::Artist_
QString Artist_
The artist performing this release.
Definition
irecentreleases.h:36
Media::AlbumRelease::Date_
QDateTime Date_
The date of this release.
Definition
irecentreleases.h:40
Media::AlbumRelease::Title_
QString Title_
The release title.
Definition
irecentreleases.h:32
src
interfaces
media
irecentreleases.h
Generated by
1.10.0