00001 /* This file is part of the KDE project 00002 Copyright (C) 2005-2006 Matthias Kretz <kretz@kde.org> 00003 00004 This library is free software; you can redistribute it and/or 00005 modify it under the terms of the GNU Lesser General Public 00006 License as published by the Free Software Foundation; either 00007 version 2.1 of the License, or (at your option) version 3, or any 00008 later version accepted by the membership of KDE e.V. (or its 00009 successor approved by the membership of KDE e.V.), Nokia Corporation 00010 (or its successors, if any) and the KDE Free Qt Foundation, which shall 00011 act as a proxy defined in Section 6 of version 3 of the license. 00012 00013 This library is distributed in the hope that it will be useful, 00014 but WITHOUT ANY WARRANTY; without even the implied warranty of 00015 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00016 Lesser General Public License for more details. 00017 00018 You should have received a copy of the GNU Lesser General Public 00019 License along with this library. If not, see <http://www.gnu.org/licenses/>. 00020 00021 */ 00022 00023 #ifndef Phonon_BACKENDCAPABILITIES_H 00024 #define Phonon_BACKENDCAPABILITIES_H 00025 00026 #include "phonon_export.h" 00027 #include "objectdescription.h" 00028 00029 #include <QtCore/QObject> 00030 00031 QT_BEGIN_HEADER 00032 QT_BEGIN_NAMESPACE 00033 00034 #ifdef __QT_SYNCQT__ 00035 // Tell syncqt that the BackendCapabilities namespace should be treated like a class 00036 #pragma qt_class(Phonon::BackendCapabilities) 00037 #pragma qt_sync_stop_processing 00038 #endif 00039 00040 template<class T> class QList; 00041 class QStringList; 00042 00043 namespace Phonon 00044 { 00045 00052 namespace BackendCapabilities 00053 { 00059 class Notifier : public QObject 00060 { 00061 Q_OBJECT 00062 Q_SIGNALS: 00067 void capabilitiesChanged(); 00068 00076 void availableAudioOutputDevicesChanged(); 00077 00085 #ifndef QT_NO_PHONON_AUDIOCAPTURE 00086 void availableAudioCaptureDevicesChanged(); 00087 #endif //QT_NO_PHONON_AUDIOCAPTURE 00088 }; 00089 00104 PHONON_EXPORT Notifier *notifier(); 00105 00111 PHONON_EXPORT QStringList availableMimeTypes(); 00112 00120 PHONON_EXPORT bool isMimeTypeAvailable(const QString &mimeType); 00121 00128 PHONON_EXPORT QList<AudioOutputDevice> availableAudioOutputDevices(); 00129 00136 #ifndef QT_NO_PHONON_AUDIOCAPTURE 00137 PHONON_EXPORT QList<AudioCaptureDevice> availableAudioCaptureDevices(); 00138 #endif //QT_NO_PHONON_AUDIOCAPTURE 00139 00146 // PHONON_EXPORT QList<VideoOutputDevice> availableVideoOutputDevices(); 00147 00154 // PHONON_EXPORT QList<VideoCaptureDevice> availableVideoCaptureDevices(); 00155 00162 // PHONON_EXPORT QList<VisualizationDescription> availableVisualizations(); 00163 00170 #ifndef QT_NO_PHONON_EFFECT 00171 PHONON_EXPORT QList<EffectDescription> availableAudioEffects(); 00172 #endif //QT_NO_PHONON_EFFECT 00173 00174 //X /** 00175 //X * Returns descriptions for the video effects the backend supports. 00176 //X * 00177 //X * \return A list of VideoEffectDescription objects that give a name and 00178 //X * description for every supported video effect. 00179 //X */ 00180 //X PHONON_EXPORT QList<EffectDescription> availableVideoEffects(); 00181 00188 // PHONON_EXPORT QList<AudioCodecDescription> availableAudioCodecs(); 00189 00196 // PHONON_EXPORT QList<VideoCodecDescription> availableVideoCodecs(); 00197 00204 // PHONON_EXPORT QList<ContainerFormatDescription> availableContainerFormats(); 00205 } // namespace BackendCapabilities 00206 } // namespace Phonon 00207 00208 QT_END_NAMESPACE 00209 QT_END_HEADER 00210 00211 #endif // Phonon_BACKENDCAPABILITIES_H 00212 // vim: sw=4 ts=4 tw=80