libGizmod/GizmoEventSoundCard.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 __GizmoEventSoundCard_h
00030 #define __GizmoEventSoundCard_h
00031 
00032 #if HAVE_CONFIG_H
00033 #include "config.h"
00034 #endif
00035 
00036 #include "GizmoEvent.hpp"
00037 #include "AlsaEvent.hpp"
00038 #include "AlsaSoundCard.hpp"
00039 #include "AlsaMixer.hpp"
00040 #include <string>
00041 #include <boost/archive/text_oarchive.hpp>
00042 #include <boost/archive/text_iarchive.hpp>
00043 #include <boost/serialization/base_object.hpp>
00044 
00046 // Namespace
00048 
00049 namespace Gizmod {
00050 
00052 // Typedef, enum's
00054         
00056 // Class Definition
00058 
00065 class GizmoEventSoundCard : public AlsaEvent, public GizmoEvent {
00066 public:
00067         // public member variables
00068         AlsaMixer const *                       getMixer();             
00069         AlsaSoundCard const *                   getSoundCard();         
00070         
00071         // public functions
00072                 
00073         // construction / deconstruction
00074         GizmoEventSoundCard();                                          
00075         GizmoEventSoundCard(AlsaEvent const & Event, AlsaSoundCard const & SoundCard, bool IsRemote = false); 
00076         GizmoEventSoundCard(AlsaEvent const & Event, AlsaSoundCard const & SoundCard, AlsaMixer const & Mixer, bool IsRemote = false); 
00077         virtual ~GizmoEventSoundCard();                                 
00078 
00079 protected:
00080         // private functions
00081         
00082         // private member variables
00083         AlsaMixer const *                       mpMixer;                
00084         AlsaSoundCard const *                   mpSoundCard;            
00085         
00086 private: 
00087         // serialization
00088         friend class boost::serialization::access;
00089         template<class Archive>
00090         void serialize(Archive & ar, const unsigned int version) {
00091                 ar & boost::serialization::base_object<GizmoEvent>(*this);
00092                 ar & boost::serialization::base_object<AlsaEvent>(*this);
00093         }                               
00094 };
00095 
00097 
00098 } // Gizmod namespace
00099 
00100 #endif // __GizmoEventSoundCard_h

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