kdemm Library API Documentation

backend.h

00001 /*  This file is part of the KDE project
00002     Copyright (C) 2004 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 Library General Public
00006     License version 2 as published by the Free Software Foundation.
00007 
00008     This library is distributed in the hope that it will be useful,
00009     but WITHOUT ANY WARRANTY; without even the implied warranty of
00010     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00011     Library General Public License for more details.
00012 
00013     You should have received a copy of the GNU Library General Public License
00014     along with this library; see the file COPYING.LIB.  If not, write to
00015     the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
00016     Boston, MA 02111-1307, USA.
00017 
00018 */
00019 
00020 #ifndef BACKEND_H
00021 #define BACKEND_H
00022 
00023 #include <qobject.h>
00024 #include <kdemacros.h>
00025 #include <kdemm/channel.h>
00026 #include <kurl.h>
00027 
00028 namespace KDE
00029 {
00030 namespace Multimedia
00031 {
00032     class Player;
00033     class VideoPlayer;
00044     class KDE_EXPORT Backend : public QObject
00045     {
00046         Q_OBJECT
00047         public:
00051             Backend( QObject * parent = 0, const char * name = 0 );
00052             virtual ~Backend();
00053 
00057             virtual Player * createPlayer() = 0;
00058 
00066             virtual VideoPlayer * createVideoPlayer() { return 0; }
00067 
00068             virtual bool playSoundEvent(const KURL & url);
00069 
00070             virtual Channel * createChannel( const QString & title, const QString & channeltype,
00071                     Channel::Direction direction ) = 0;
00072 
00073             virtual QStringList availableChannels( Channel::Direction direction ) const = 0;
00074 
00075             virtual QStringList playableMimeTypes() const = 0;
00076 
00077         private:
00078             RESERVE_VIRTUAL_10
00079 
00080             class Private;
00081             Private * d;
00082     };
00083 }} // namespaces
00084 
00085 // vim: sw=4 ts=4 noet tw=80
00086 #endif // BACKEND_H
KDE Logo
This file is part of the documentation for kdemm Library Version 3.4.2.
Documentation copyright © 1996-2004 the KDE developers.
Generated on Tue Sep 13 04:04:36 2005 by doxygen 1.4.4 written by Dimitri van Heesch, © 1997-2003