00001 /**************************************************************************** 00002 ** 00003 ** Copyright (C) 1992-2006 Trolltech ASA. All rights reserved. 00004 ** 00005 ** This file is part of the QtGui module of the Qt Toolkit. 00006 ** 00007 ** This file may be used under the terms of the GNU General Public 00008 ** License version 2.0 as published by the Free Software Foundation 00009 ** and appearing in the file LICENSE.GPL included in the packaging of 00010 ** this file. Please review the following information to ensure GNU 00011 ** General Public Licensing requirements will be met: 00012 ** http://www.trolltech.com/products/qt/opensource.html 00013 ** 00014 ** If you are unsure which license is appropriate for your use, please 00015 ** review the following information: 00016 ** http://www.trolltech.com/products/qt/licensing.html or contact the 00017 ** sales department at sales@trolltech.com. 00018 ** 00019 ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE 00020 ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. 00021 ** 00022 ****************************************************************************/ 00023 00024 #ifndef QSOUND_P_H 00025 #define QSOUND_P_H 00026 00027 // 00028 // W A R N I N G 00029 // ------------- 00030 // 00031 // This file is not part of the Qt API. It exists for the convenience 00032 // of other Qt classes. This header file may change from version to 00033 // version without notice, or even be removed. 00034 // 00035 // We mean it. 00036 // 00037 00038 #include "QtCore/qobject.h" 00039 00040 #ifndef QT_NO_SOUND 00041 00042 class QSound; 00043 /* 00044 QAuServer is an INTERNAL class. If you wish to provide support for 00045 additional audio servers, you can make a subclass of QAuServer to do 00046 so, HOWEVER, your class may need to be re-engineered to some degree 00047 with each new Qt release, including minor releases. 00048 00049 QAuBucket is whatever you want. 00050 */ 00051 00052 class QAuBucket { 00053 public: 00054 virtual ~QAuBucket(); 00055 }; 00056 00057 class QAuServer : public QObject { 00058 Q_OBJECT 00059 00060 public: 00061 explicit QAuServer(QObject* parent); 00062 ~QAuServer(); 00063 00064 virtual void init(QSound*); 00065 virtual void play(const QString& filename); 00066 virtual void play(QSound*)=0; 00067 virtual void stop(QSound*)=0; 00068 virtual bool okay()=0; 00069 00070 protected: 00071 void setBucket(QSound*, QAuBucket*); 00072 QAuBucket* bucket(QSound*); 00073 int decLoop(QSound*); 00074 }; 00075 00076 #endif // QT_NO_SOUND 00077 00078 #endif // QSOUND_P_H
1.5.1