backendcapabilities.h

Go to the documentation of this file.
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