1 /* This file is part of the KDE project 2 Copyright (C) 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 #ifndef PHONON_EXPERIMENTAL_FACTORY_P_H 23 #define PHONON_EXPERIMENTAL_FACTORY_P_H 24 25 #include <QtCore/QObject> 26 #include "export.h" 27 28 namespace Phonon 29 { 30 namespace Experimental 31 { 32 namespace Factory 33 { 34 /** 35 * Emits signals for Phonon::Experimental::Factory. 36 */ 37 class Sender : public QObject 38 { 39 Q_OBJECT 40 41 Q_SIGNALS: 42 void availableVideoCaptureDevicesChanged(); 43 }; 44 45 PHONONEXPERIMENTAL_EXPORT Sender *sender(); 46 47 /** 48 * Create a new backend object for a AudioDataOutput. 49 * 50 * \return a pointer to the AudioDataOutput the backend provides. 51 */ 52 PHONONEXPERIMENTAL_EXPORT QObject *createAudioDataOutput(QObject *parent = 0); 53 54 /** 55 * Create a new backend object for a VideoDataOutput. 56 * 57 * \return a pointer to the VideoDataOutput the backend provides. 58 */ 59 QObject *createVideoDataOutput(QObject *parent = 0); 60 61 QObject *createAvCapture(QObject *parent = 0); 62 63 /** 64 * Create a new backend object for a Visualization. 65 * 66 * \return a pointer to the Visualization the backend provides. 67 */ 68 PHONONEXPERIMENTAL_EXPORT QObject *createVisualization(QObject *parent = 0); 69 70 } // namespace Factory 71 } // namespace Experimental 72 } // namespace Phonon 73 74 #endif // PHONON_EXPERIMENTAL_FACTORY_P_H 75