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
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"
)
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
src
interfaces
media
irecentreleases.h
Generated by
1.8.17