1 /* This file is part of the KDE project.
3 Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
5 This library is free software: you can redistribute it and/or modify
6 it under the terms of the GNU Lesser General Public License as published by
7 the Free Software Foundation, either version 2.1 or 3 of the License.
9 This library is distributed in the hope that it will be useful,
10 but WITHOUT ANY WARRANTY; without even the implied warranty of
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 GNU Lesser General Public License for more details.
14 You should have received a copy of the GNU Lesser General Public License
15 along with this library. If not, see <http://www.gnu.org/licenses/>.
18 #ifndef Phonon_VLC_DEVICEMANAGER_H
19 #define Phonon_VLC_DEVICEMANAGER_H
21 #include <phonon/audiooutputinterface.h>
23 #include <QtCore/QObject>
33 class AbstractRenderer;
39 AudioDevice(DeviceManager *s, const QByteArray &deviceId, const QByteArray &hw_id = "");
42 QByteArray description;
46 class DeviceManager : public QObject
51 DeviceManager(Backend *parent);
52 virtual ~DeviceManager();
53 const QList<AudioDevice> audioOutputDevices() const;
54 int deviceId(const QByteArray &vlcId) const;
55 QByteArray deviceDescription(int id) const;
58 void deviceAdded(int);
59 void deviceRemoved(int);
62 void updateDeviceList();
65 bool canOpenDevice() const;
67 QList <AudioDevice> m_audioDeviceList;
70 } // namespace Phonon::VLC
74 #endif // Phonon_VLC_DEVICEMANAGER_H