LeechCraft
0.6.70-17609-g3dde4097dd
Modular cross-platform feature rich live environment.
Loading...
Searching...
No Matches
iaudiopile.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 <
util/sll/eitherfwd.h
>
13
#include "
audiostructs.h
"
14
15
class
QObject;
16
class
QIcon;
17
18
template
<
typename
>
19
class
QFuture
;
20
21
namespace
Media
22
{
32
struct
AudioSearchRequest
33
{
38
QString
Title_
;
39
44
QString
Artist_
;
45
48
QString
Album_
;
49
54
int
TrackLength_
= 0;
55
61
QString
FreeForm_
;
62
};
63
70
class
Q_DECL_EXPORT
IAudioPile
71
{
72
public
:
73
virtual
~IAudioPile
() {}
74
77
struct
Result
78
{
81
AudioInfo
Info_
;
82
85
QUrl
Source_
;
86
};
87
90
using
Results_t
=
QList<Result>
;
91
99
using
Result_t
=
LC::Util::Either<QString, Results_t>
;
100
108
virtual
QString
GetServiceName
()
const
= 0;
109
117
virtual
QIcon
GetServiceIcon
()
const
= 0;
118
127
virtual
QFuture<Result_t>
Search
(
const
AudioSearchRequest
& request) = 0;
128
};
129
}
130
131
Q_DECLARE_INTERFACE (
Media::IAudioPile
,
"org.LeechCraft.Media.IAudioPile/1.0"
)
audiostructs.h
LC::Util::Either
Definition
either.h:33
Media::IAudioPile
Interface for plugins supporting searching for tracks.
Definition
iaudiopile.h:71
Media::IAudioPile::GetServiceIcon
virtual QIcon GetServiceIcon() const =0
Returns the icon of this service.
Media::IAudioPile::~IAudioPile
virtual ~IAudioPile()
Definition
iaudiopile.h:73
Media::IAudioPile::Results_t
QList< Result > Results_t
A list of successful audio search results.
Definition
iaudiopile.h:90
Media::IAudioPile::GetServiceName
virtual QString GetServiceName() const =0
Returns the name of this service.
Media::IAudioPile::Result_t
LC::Util::Either< QString, Results_t > Result_t
The result of an audio search query.
Definition
iaudiopile.h:99
Media::IAudioPile::Search
virtual QFuture< Result_t > Search(const AudioSearchRequest &request)=0
Requests a search by the given request.
QFuture
Definition
idownload.h:17
QList
Definition
ianrulesstorage.h:14
eitherfwd.h
Media
Definition
audiostructs.h:17
Media::AudioInfo
Describes a single audio track.
Definition
audiostructs.h:21
Media::AudioSearchRequest
Describes a request for an audio search in an IAudioPile.
Definition
iaudiopile.h:33
Media::AudioSearchRequest::TrackLength_
int TrackLength_
The approximate length of the track.
Definition
iaudiopile.h:54
Media::AudioSearchRequest::Title_
QString Title_
The title of a track.
Definition
iaudiopile.h:38
Media::AudioSearchRequest::FreeForm_
QString FreeForm_
Free form engine-specific request.
Definition
iaudiopile.h:61
Media::AudioSearchRequest::Album_
QString Album_
The album containing this track.
Definition
iaudiopile.h:48
Media::AudioSearchRequest::Artist_
QString Artist_
The artist performing the track.
Definition
iaudiopile.h:44
Media::IAudioPile::Result
A structure describing a single entry in search result.
Definition
iaudiopile.h:78
Media::IAudioPile::Result::Info_
AudioInfo Info_
The information about the found audio track.
Definition
iaudiopile.h:81
Media::IAudioPile::Result::Source_
QUrl Source_
The URL of this audio track.
Definition
iaudiopile.h:85
src
interfaces
media
iaudiopile.h
Generated by
1.13.2