1/* This file is part of the KDE project
2Copyright (C) 2006-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_GLOBALCONFIG_H
24#define PHONON_GLOBALCONFIG_H
25
26#include "phonon_export.h"
27#include "phononnamespace.h"
28#include "phonondefs.h"
29#include "objectdescription.h"
30
31
32namespace Phonon
33{
34 class GlobalConfigPrivate;
35
36 class PHONON_EXPORT GlobalConfig
37 {
38 P_DECLARE_PRIVATE(GlobalConfig)
39 public:
40 GlobalConfig();
41 virtual ~GlobalConfig();
42
43 enum DevicesToHideFlag {
44 ShowUnavailableDevices = 0,
45 ShowAdvancedDevices = 0,
46 HideAdvancedDevices = 1,
47 AdvancedDevicesFromSettings = 2,
48 HideUnavailableDevices = 4
49 };
50 bool hideAdvancedDevices() const;
51 void setHideAdvancedDevices(bool hide = true);
52
53 QHash<QByteArray, QVariant> deviceProperties(ObjectDescriptionType deviceType, int index) const;
54
55 void setAudioOutputDeviceListFor(Category category, QList<int> order);
56 QList<int> audioOutputDeviceListFor(Category category, int override = AdvancedDevicesFromSettings) const;
57 int audioOutputDeviceFor(Category category, int override = AdvancedDevicesFromSettings) const;
58 QHash<QByteArray, QVariant> audioOutputDeviceProperties(int index) const;
59
60#ifndef PHONON_NO_VIDEOCAPTURE
61 void setVideoCaptureDeviceListFor(CaptureCategory category, QList<int> order);
62 QList<int> videoCaptureDeviceListFor(CaptureCategory category, int override = AdvancedDevicesFromSettings) const;
63 int videoCaptureDeviceFor(CaptureCategory category, int override = AdvancedDevicesFromSettings) const;
64 QHash<QByteArray, QVariant> videoCaptureDeviceProperties(int index) const;
65
66 PHONON_DEPRECATED void setVideoCaptureDeviceListFor(Category category, QList<int> order);
67 PHONON_DEPRECATED QList<int> videoCaptureDeviceListFor(Category category, int override = AdvancedDevicesFromSettings) const;
68 PHONON_DEPRECATED int videoCaptureDeviceFor(Category category, int override = AdvancedDevicesFromSettings) const;
69#endif //PHONON_NO_VIDEOCAPTURE
70
71#ifndef PHONON_NO_AUDIOCAPTURE
72 void setAudioCaptureDeviceListFor(CaptureCategory category, QList<int> order);
73 QList<int> audioCaptureDeviceListFor(CaptureCategory category, int override = AdvancedDevicesFromSettings) const;
74 int audioCaptureDeviceFor(CaptureCategory category, int override = AdvancedDevicesFromSettings) const;
75 QHash<QByteArray, QVariant> audioCaptureDeviceProperties(int index) const;
76
77 PHONON_DEPRECATED void setAudioCaptureDeviceListFor(Category category, QList<int> order);
78 PHONON_DEPRECATED QList<int> audioCaptureDeviceListFor(Category category, int override = AdvancedDevicesFromSettings) const;
79 PHONON_DEPRECATED int audioCaptureDeviceFor(Category category, int override = AdvancedDevicesFromSettings) const;
80#endif //PHONON_NO_AUDIOCAPTURE
81
82 protected:
83 GlobalConfigPrivate *const k_ptr;
84 };
85} // namespace Phonon
86
87
88#endif // PHONON_GLOBALCONFIG_H
89

source code of phonon/phonon/globalconfig.h