LeechCraft
0.6.70-15082-g543737046d
Modular cross-platform feature rich live environment.
iradiostation.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 <memory>
12
#include <QtPlugin>
13
14
class
QUrl;
15
16
namespace
Media
17
{
18
struct
AudioInfo;
19
43
class
Q_DECL_EXPORT
IRadioStation
44
{
45
public
:
46
virtual
~IRadioStation
() {}
47
55
virtual
QObject* GetQObject () = 0;
56
61
virtual
void
RequestNewStream () = 0;
62
67
virtual
QString GetRadioName ()
const
= 0;
68
protected
:
74
virtual
void
gotNewStream (
const
QUrl& url,
const
AudioInfo
& info) = 0;
75
92
virtual
void
gotPlaylist (
const
QString& filename,
const
QString& format) = 0;
93
104
virtual
void
gotAudioInfos (
const
QList<AudioInfo>
& infos) = 0;
105
110
virtual
void
gotError (
const
QString& error) = 0;
111
};
112
115
typedef
std::shared_ptr<IRadioStation>
IRadioStation_ptr
;
116
}
117
118
Q_DECLARE_INTERFACE (
Media::IRadioStation
,
"org.LeechCraft.Media.IRadioStation/1.0"
)
Media::IRadioStation::~IRadioStation
virtual ~IRadioStation()
Definition:
iradiostation.h:46
QList
Definition:
ianrulesstorage.h:14
Media::AudioInfo
Describes a single audio track.
Definition:
audiostructs.h:26
Media
Definition:
audiostructs.h:16
Media::IRadioStation_ptr
std::shared_ptr< IRadioStation > IRadioStation_ptr
A pointer to a shared instance of a IRadioStation.
Definition:
iradiostation.h:115
Media::IRadioStation
Describes a single radio station.
Definition:
iradiostation.h:43
src
interfaces
media
iradiostation.h
Generated by
1.8.17