factory.h
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef KDEMM_FACTORY_H
00021 #define KDEMM_FACTORY_H
00022
00023 #include <kurl.h>
00024 #include <kdemm/channel.h>
00025 #include <qstring.h>
00026 #include <qstringlist.h>
00027 #include <dcopobject.h>
00028
00029 namespace KDE
00030 {
00044 namespace Multimedia
00045 {
00046 class Backend;
00047 class Player;
00048 class VideoPlayer;
00049
00067 class KDE_EXPORT Factory : public QObject, public DCOPObject
00068 {
00069 Q_OBJECT
00070 public:
00078 static Factory * self();
00079
00090 Player * createPlayer();
00091
00100 VideoPlayer * createVideoPlayer();
00101
00109 bool playSoundEvent(const KURL & url);
00110
00130 Channel * createChannel( const QString & title,
00131 const QString & channeltype = QString::fromLatin1( "default" ),
00132 Channel::Direction direction = Channel::Output );
00133
00142 QStringList availableChannels( Channel::Direction direction = Channel::Output ) const;
00143
00147 QStringList playableMimeTypes() const;
00148
00152 bool isMimeTypePlayable( const QString & mimetype ) const;
00153
00157 QString backendName() const;
00158
00162 QString backendComment() const;
00163
00171 QString backendVersion() const;
00172
00176 QString backendIcon() const;
00177
00181 QString backendWebsite() const;
00182
00183 signals:
00188 void deleteYourObjects();
00189
00196 void recreateObjects();
00197
00198 protected:
00199 Factory();
00200 ~Factory();
00201
00202 private slots:
00203 void objectDestroyed( QObject * );
00204
00205 private:
00206 static Factory * m_self;
00207 class Private;
00208 Private * d;
00209
00210 K_DCOP
00211 k_dcop:
00216 void kdemmBackendChanged();
00217
00218 };
00219 }}
00220
00221 #endif // BACKENDFACTORY_H
00222
This file is part of the documentation for kdemm Library Version 3.4.2.