Phonon  4.7.0
 All Classes Namespaces Functions Variables Enumerations Enumerator Properties Pages
audiooutputinterface.h
1 /* This file is part of the KDE project
2  Copyright (C) 2007-2008 Matthias Kretz <kretz@kde.org>
3 
4  This library is free software; you can redistribute it and/or
5  modify it under the terms of the GNU Lesser General Public
6  License as published by the Free Software Foundation; either
7  version 2.1 of the License, or (at your option) version 3, or any
8  later version accepted by the membership of KDE e.V. (or its
9  successor approved by the membership of KDE e.V.), Nokia Corporation
10  (or its successors, if any) and the KDE Free Qt Foundation, which shall
11  act as a proxy defined in Section 6 of version 3 of the license.
12 
13  This library is distributed in the hope that it will be useful,
14  but WITHOUT ANY WARRANTY; without even the implied warranty of
15  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16  Lesser General Public License for more details.
17 
18  You should have received a copy of the GNU Lesser General Public
19  License along with this library. If not, see <http://www.gnu.org/licenses/>.
20 
21 */
22 
23 #ifndef PHONON_AUDIOOUTPUTINTERFACE_H
24 #define PHONON_AUDIOOUTPUTINTERFACE_H
25 
26 #include "phononnamespace.h"
27 #include "objectdescription.h"
28 #include "phonondefs.h"
29 #include <QtCore/QtGlobal>
30 
31 
32 namespace Phonon
33 {
48 {
49  public:
50  virtual ~AudioOutputInterface40() {}
51 
58  virtual qreal volume() const = 0;
68  virtual void setVolume(qreal) = 0;
69 
74  virtual int outputDevice() const = 0;
86  virtual bool setOutputDevice(int) = 0;
87 };
88 
90 {
91  public:
98  virtual bool setOutputDevice(const Phonon::AudioOutputDevice &) = 0;
99 
101 
132 };
133 
135 {
136 public:
154  virtual void setStreamUuid(QString uuid) = 0;
155 };
156 
157 } // namespace Phonon
158 
159 #ifdef PHONON_BACKEND_VERSION_4_7
160 namespace Phonon { typedef AudioOutputInterface47 AudioOutputInterface; }
161 Q_DECLARE_INTERFACE(Phonon::AudioOutputInterface40, "AudioOutputInterface2.phonon.kde.org")
162 Q_DECLARE_INTERFACE(Phonon::AudioOutputInterface42, "3AudioOutputInterface.phonon.kde.org")
163 Q_DECLARE_INTERFACE(Phonon::AudioOutputInterface, "4AudioOutputInterface.phonon.kde.org")
164 #elif defined PHONON_BACKEND_VERSION_4_2
165 namespace Phonon { typedef AudioOutputInterface42 AudioOutputInterface; }
166 Q_DECLARE_INTERFACE(Phonon::AudioOutputInterface40, "AudioOutputInterface2.phonon.kde.org")
167 Q_DECLARE_INTERFACE(Phonon::AudioOutputInterface, "3AudioOutputInterface.phonon.kde.org")
168 Q_DECLARE_INTERFACE(Phonon::AudioOutputInterface47, "4AudioOutputInterface.phonon.kde.org")
169 #else
170 namespace Phonon { typedef AudioOutputInterface40 AudioOutputInterface; }
171 Q_DECLARE_INTERFACE(Phonon::AudioOutputInterface, "AudioOutputInterface2.phonon.kde.org")
172 Q_DECLARE_INTERFACE(Phonon::AudioOutputInterface42, "3AudioOutputInterface.phonon.kde.org")
173 Q_DECLARE_INTERFACE(Phonon::AudioOutputInterface47, "4AudioOutputInterface.phonon.kde.org")
174 #endif
175 
176 
177 #endif // PHONON_AUDIOOUTPUTINTERFACE_H