libGizmod/AlsaSoundCardInterface.hpp

Go to the documentation of this file.
00001 
00012 /*
00013   
00014   Copyright (c) 2007, Tim Burrell
00015   Licensed under the Apache License, Version 2.0 (the "License");
00016   you may not use this file except in compliance with the License.
00017   You may obtain a copy of the License at 
00018 
00019         http://www.apache.org/licenses/LICENSE-2.0
00020 
00021   Unless required by applicable law or agreed to in writing, software
00022   distributed under the License is distributed on an "AS IS" BASIS,
00023   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00024   See the License for the specific language governing permissions and 
00025   limitations under the License. 
00026   
00027 */
00028 
00029 #ifndef __AlsaSoundCardInterface_h
00030 #define __AlsaSoundCardInterface_h
00031 
00032 #if HAVE_CONFIG_H
00033 #include "config.h"
00034 #endif
00035 
00036 #include "AlsaInterface.hpp"
00037 #include "AlsaMixerInterface.hpp"
00038 #include <string>
00039 #include <list>
00040 
00042 // Namespace
00044 
00045 namespace Gizmod {
00046 
00048 // Typedefs
00050 
00052 // AlsaSoundCardInterface Class Definition
00054 
00059 class AlsaSoundCardInterface {
00060 public: 
00061         // public member variables
00062         void                            addManualUpdater(AlsaMixerInterface * pMixer); 
00063         AlsaInterface *                 getAlsa();                      
00064         
00065         // public functions
00066         virtual std::string             getCardHardwareID() const = 0;  
00067         virtual int                     getCardID() const = 0;          
00068         virtual std::string             getCardName() const = 0;        
00069         virtual std::string             getCardNameLong()const  = 0;    
00070 
00071         // construction / deconstruction
00072         AlsaSoundCardInterface(AlsaInterface * piAlsa);
00073         virtual ~AlsaSoundCardInterface();
00074         
00075 protected:
00076         // protected member variables
00077         AlsaInterface *                 mpiAlsa;                        
00078         std::list<AlsaMixerInterface *> mUpdateList;                    
00079         
00080 private:
00081         // private functions
00082                 
00083         // private member variables
00084 };
00085 
00087 
00088 } // Gizmod namespace
00089 
00090 #endif // __AlsaSoundCardInterface_h

Generated on Wed Nov 7 10:04:16 2007 for gizmod by  doxygen 1.5.3