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
16template<typename>
17class QFuture;
18
19namespace Media
20{
29 {
32 QString Title_;
33
36 QString Artist_;
37
40 QDateTime Date_;
41
45
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
99Q_DECLARE_INTERFACE (Media::IRecentReleases, "org.LeechCraft.Media.IRecentReleases/1.0")
Interface for plugins providing recent releases.
virtual QFuture< Result_t > RequestRecentReleases(int number, bool withRecommends)=0
Requests the recent releases.
LC::Util::Either< QString, QList< AlbumRelease > > Result_t
The result of a recent releases query.
virtual QString GetServiceName() const =0
Returns the service name.
Describes a recent release.
QUrl FullImage_
Full-size image of this release.
QUrl ReleaseURL_
The page describing this release in more details.
QUrl ThumbImage_
Thumbnail image of this release (like album art).
QString Artist_
The artist performing this release.
QDateTime Date_
The date of this release.
QString Title_
The release title.