[xmmsclient] "rename fix" and added all components to the main header
[libxmms2client-qt.git] / playback.h
blob456cdcb37be0f41db13d8c36bf6a5c459df794f6
1 //
2 // C++ Interface: playback
3 //
4 // Author: Oliver Groß <z.o.gross@gmx.de>, (C) 2008
5 //
6 // Copyright: See COPYING file that comes with this distribution
7 //
8 #ifndef XMMSQT_PLAYBACK_H
9 #define XMMSQT_PLAYBACK_H
11 #include <QObject>
12 #include <QHash>
13 #include <xmmsclient/xmmsclient.h>
15 namespace XmmsQt {
16 class QClient;
18 class QPlayback : public QObject {
19 Q_OBJECT
20 private:
21 xmmsc_connection_t * m_Connection;
22 QHash<QString, quint8> m_Volume;
23 xmms_playback_status_t m_Status;
25 static void setVolumeChannel(const void * key, xmmsc_result_value_type_t, const void * value, void * instance);
27 static void volumeCallback(xmmsc_result_t * result, void * instance);
28 static void statusCallback(xmmsc_result_t * result, void * instance);
29 static void idCallback(xmmsc_result_t * result, void * instance);
30 static void playTimeCallback(xmmsc_result_t * result, void * instance);
31 public:
32 QPlayback(QClient * parent = 0);
33 ~QPlayback();
35 xmms_playback_status_t status() { return m_Status; }
36 const QHash<QString, quint8> & volume() { return m_Volume; }
37 public slots:
38 void setConnection(xmmsc_connection_t * connection);
39 void start();
40 void pause();
41 void stop();
42 void tickle();
43 void setVolume(QString channel, quint8 volume);
44 signals:
45 void playTimeChanged(quint32 time);
46 void volumeChanged();
47 void statusChanged(xmms_playback_status_t status);
48 void idChanged(quint32 id);
52 #endif