src/gui/kernel/qsound_p.h

Go to the documentation of this file.
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

Generated on Thu Mar 15 11:55:15 2007 for Qt 4.2 User's Guide by  doxygen 1.5.1