/
XmppInfoPlugin.h
66 lines (50 loc) · 1.99 KB
/
XmppInfoPlugin.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
/* === This file is part of Tomahawk Player - <http://tomahawk-player.org> ===
*
* Copyright 2012, Dominik Schmidt <domme@tomahawk-player.org>
* Copyright 2012, Jeff Mitchell <jeff@tomahawk-player.org>
*
* Tomahawk is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* Tomahawk is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with Tomahawk. If not, see <http://www.gnu.org/licenses/>.
*/
#ifndef XMPPINFOPLUGIN_H
#define XMPPINFOPLUGIN_H
#include "infosystem/InfoSystem.h"
#include <QTimer>
class XmppSipPlugin;
namespace Tomahawk {
namespace InfoSystem {
class XmppInfoPlugin : public InfoPlugin
{
Q_OBJECT
public:
XmppInfoPlugin(XmppSipPlugin* parent);
virtual ~XmppInfoPlugin();
signals:
void publishTune( QUrl url, Tomahawk::InfoSystem::InfoStringHash trackInfo );
public slots:
void notInCacheSlot( const Tomahawk::InfoSystem::InfoStringHash criteria, Tomahawk::InfoSystem::InfoRequestData requestData );
protected slots:
void init();
void pushInfo( Tomahawk::InfoSystem::InfoPushData pushData );
void getInfo( Tomahawk::InfoSystem::InfoRequestData requestData );
private slots:
void audioStarted( const Tomahawk::InfoSystem::PushInfoPair& pushInfoPair );
void audioStopped();
void audioPaused();
private:
QPointer< XmppSipPlugin > m_sipPlugin;
QTimer m_pauseTimer;
};
}
}
#endif // XMPPINFOPLUGIN_H