kdemm Library API Documentation

channel.h

00001 /*  This file is part of the KDE project
00002     Copyright (C) 2004 Matthias Kretz <kretz@kde.org>
00003 
00004     This library is free software; you can redistribute it and/or
00005     modify it under the terms of the GNU Library General Public
00006     License version 2 as published by the Free Software Foundation.
00007 
00008     This library is distributed in the hope that it will be useful,
00009     but WITHOUT ANY WARRANTY; without even the implied warranty of
00010     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00011     Library General Public License for more details.
00012 
00013     You should have received a copy of the GNU Library General Public License
00014     along with this library; see the file COPYING.LIB.  If not, write to
00015     the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
00016     Boston, MA 02111-1307, USA.
00017 
00018 */
00019 
00020 #ifndef KDEMM_CHANNEL_H
00021 #define KDEMM_CHANNEL_H
00022 
00023 #include <kdemm/mixeriface.h>
00024 
00025 class QString;
00026 
00027 namespace KDE
00028 {
00029 namespace Multimedia
00030 {
00037     class KDE_EXPORT Channel : public QObject, virtual public MixerIface
00038     {
00039         Q_OBJECT
00040         public:
00041             virtual ~Channel();
00042 
00043             enum Direction
00044             {
00045                 Input,
00046                 Output
00047             };
00048 
00052             virtual QString channelName() const;
00053 
00057             virtual QString channelType() const;
00058 
00062             virtual Direction direction() const;
00063 
00067             virtual bool hasVolumeControl() const = 0;
00068             
00072             virtual float volume() const = 0;
00073 
00079             virtual bool setVolume( float volume ) = 0;
00080 
00081         protected:
00086             Channel( const QString & name, const QString & type, Direction direction,
00087                     QObject * parent = 0, const char * name = 0 );
00088 
00089         private:
00090             class Private;
00091             Private * d;
00092     };
00093 }} // namespaces
00094 // vim: sw=4 ts=4 noet tw=80
00095 
00096 #endif // KDEMM_CHANNEL_H
KDE Logo
This file is part of the documentation for kdemm Library Version 3.4.2.
Documentation copyright © 1996-2004 the KDE developers.
Generated on Tue Sep 13 04:04:36 2005 by doxygen 1.4.4 written by Dimitri van Heesch, © 1997-2003