kdatarequest_impl.h

00001     /*
00002 
00003     Copyright (C) 2002 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., 51 Franklin Street, Fifth Floor,
00018     Boston, MA 02110-1301, USA.
00019 
00020     */
00021 
00022 #ifndef KDATAREQUEST_IMPL
00023 #define KDATAREQUEST_IMPL
00024 
00025 #include <qobject.h>
00026 #include "artskde.h"
00027 #include "stdsynthmodule.h" 
00028 
00029 namespace Arts
00030 {
00031 
00032 class KDataRequest_impl : public QObject, virtual public KDataRequest_skel,
00033                           virtual public StdSynthModule
00034 {
00035 Q_OBJECT
00036 public:
00037     KDataRequest_impl();
00038     ~KDataRequest_impl();
00039     
00040     void streamInit();  
00041     void streamEnd();
00042 
00043     void calculateBlock(unsigned long samples);
00044     
00045     void goOn();
00046     
00047 signals:
00048     void newData();
00049     void newBlockSize(long blockSize);
00050     void newBlockPointer(long blockPointer);
00051 
00052 private:
00053     long m_lastBlockSize;
00054     unsigned char *m_outBlock;
00055 };
00056 
00057 }
00058 
00059 #endif
KDE Home | KDE Accessibility Home | Description of Access Keys