backend.cpp
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #include "backend.h"
00021 #include "player.h"
00022
00023 #include <qstringlist.h>
00024
00025 #include <kglobal.h>
00026 #include <kinstance.h>
00027 #include <kaboutdata.h>
00028
00029 namespace KDE
00030 {
00031 namespace Multimedia
00032 {
00033
00034 class Backend::Private
00035 {
00036 public:
00037 Channel * channel;
00038 };
00039
00040 Backend::Backend( QObject * parent, const char * name )
00041 : QObject( parent, name )
00042 , d( 0 )
00043 {
00044 }
00045
00046 Backend::~Backend()
00047 {
00048 delete d;
00049 }
00050
00051 bool Backend::playSoundEvent( const KURL & url )
00052 {
00053 if( ! d )
00054 {
00055 d = new Private;
00056
00057 QString ctype = "notifications";
00058 if( availableChannels( Channel::Output ).contains( ctype ) < 1 )
00059 ctype = "default";
00060 d->channel = createChannel( KGlobal::instance()->aboutData()->programName(), ctype, Channel::Output );
00061 }
00062
00063 Player * player = createPlayer();
00064 player->setOutputChannel( d->channel );
00065 connect( player, SIGNAL( finished() ), player, SLOT( deleteLater() ) );
00066
00067 if( player->load( url ) )
00068 if( player->play() )
00069 return true;
00070 delete player;
00071 return false;
00072 }
00073
00074 }}
00075
00076 #include "backend.moc"
00077
00078
This file is part of the documentation for kdemm Library Version 3.4.2.