1 | /* This file is part of the KDE project |
2 | Copyright (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 | |
32 | namespace 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 | |