arts Library API Documentation

kplayobjectfactory.h

00001 /* 00002 00003 Copyright (C) 2001 Nikolas Zimmermann <wildfox@kde.org> 00004 00005 This library is free software; you can redistribute it and/or 00006 modify it under the terms of the GNU Library General Public 00007 License as published by the Free Software Foundation; either 00008 version 2 of the License, or (at your option) any later version. 00009 00010 This library is distributed in the hope that it will be useful, 00011 but WITHOUT ANY WARRANTY; without even the implied warranty of 00012 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00013 Library General Public License for more details. 00014 00015 You should have received a copy of the GNU Library General Public License 00016 along with this library; see the file COPYING.LIB. If not, write to 00017 the Free Software Foundation, Inc., 59 Temple Place - Suite 330, 00018 Boston, MA 02111-1307, USA. 00019 00020 */ 00021 00022 #ifndef KPLAYOBJECTFACTORY_H 00023 #define KPLAYOBJECTFACTORY_H 00024 00025 #include <kurl.h> 00026 #include <kdelibs_export.h> 00027 00028 #include "soundserver.h" 00029 #include "kplayobject.h" 00030 00031 class KArtsServer; 00032 00033 class KDE_EXPORT KPlayObjectFactory 00034 { 00035 public: 00040 KPlayObjectFactory(Arts::SoundServerV2 server); 00041 00049 KPlayObjectFactory(KArtsServer* server); 00050 00051 ~KPlayObjectFactory(); 00052 00053 KPlayObject *createPlayObject(const KURL& url, bool createBUS); 00054 KPlayObject *createPlayObject(const KURL& url, const QString &mimetype, bool createBUS); 00055 00056 void setAllowStreaming(bool s) { m_allowStreaming = s; } 00057 bool allowStreaming() { return m_allowStreaming; } 00058 00059 bool isAStream() { return m_stream; } 00060 00061 private: 00062 Arts::SoundServerV2 m_server; 00063 bool m_allowStreaming; 00064 bool m_stream; 00065 }; 00066 00067 class KAudioManagerPlay; 00068 00069 namespace KDE { 00070 00071 class POFHelper; 00072 00079 class KDE_EXPORT PlayObjectFactory// : public QObject ### for KDE4 make it a QObject to be able to receive signals 00080 { 00081 public: 00086 PlayObjectFactory(Arts::SoundServerV2 server); 00094 PlayObjectFactory( KArtsServer* server ); 00095 ~PlayObjectFactory(); 00096 00101 void setAudioManagerPlay( KAudioManagerPlay * amanplay ); 00102 00113 KDE::PlayObject *createPlayObject(const KURL& url, bool createBUS); 00114 00119 KDE::PlayObject *createPlayObject(const KURL& url, const QString &mimetype, bool createBUS); 00120 00126 void setAllowStreaming(bool s) { d->allowStreaming = s; } 00127 00132 bool allowStreaming() { return d->allowStreaming; } 00133 00137 static QStringList mimeTypes(void); 00138 00139 /*private slots: ### KDE4 and remove Helper class 00140 void connectAmanPlay();*/ 00141 00142 private: 00143 struct PrivateData { 00144 Arts::SoundServerV2 server; 00145 KDE::PlayObject* playObj; 00146 KAudioManagerPlay* amanPlay; 00147 POFHelper* helper; 00148 bool allowStreaming; 00149 bool isStream; 00150 }; 00151 PrivateData* d; 00152 }; 00153 00154 } 00155 #endif 00156 // vim: sw=4 ts=4 noet
KDE Logo
This file is part of the documentation for arts Library Version 3.4.0.
Documentation copyright © 1996-2004 the KDE developers.
Generated on Thu Apr 14 00:30:14 2005 by doxygen 1.3.7 written by Dimitri van Heesch, © 1997-2003