LeechCraft 0.6.70-19214-g121e5318a7
Modular cross-platform feature rich live environment.
Loading...
Searching...
No Matches
itopprovider.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 <QList>
13#include <QUrl>
14#include <util/sll/eitherfwd.h>
15#include "audiostructs.h"
16
17template<typename>
18class QFuture;
19
20namespace Media
21{
27 {
34
43
52 };
53
59 {
62 QString TrackName_;
63
71
80
89
93
96 QUrl Image_;
97
101
104 QString ArtistName_;
105
113 };
114
157}
158
159Q_DECLARE_INTERFACE (Media::ITopProvider, "org.LeechCraft.Media.ITopProvider/1.0")
Interface for plugins that provide top charts.
virtual QString GetServiceName() const =0
Returns the service name.
LC::Util::Either< QString, QList< TopTrackInfo > > TopTracksResult_t
The result of a top tracks query.
virtual QFuture< TopTracksResult_t > RequestTopTracks()=0
Requests the list of top tracks.
virtual QFuture< TopArtistsResult_t > RequestTopArtists()=0
Requests the list of top artists.
LC::Util::Either< QString, QList< TopArtistInfo > > TopArtistsResult_t
The result of a top artists query.
A structure describing an artist.
Contains information about an artist in the top charts.
ArtistInfo Info_
Basic information about the artist.
int Listeners_
Number of listeners.
int Playcount_
Play count.
Contains information about a track in the top charts.
QUrl Image_
URL of thumb image of this track or performing artist.
int Listeners_
Number of listeners.
QString ArtistName_
Name of the performer of this track.
QUrl LargeImage_
Full size image of this track or performing artist.
int Playcount_
Play count.
QString TrackName_
Name of the track.
QUrl ArtistPage_
URL of the artist page.
int Duration_
Duration of the track.
QUrl TrackPage_
Address of the track page.