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 __AlsaInterface_h 00030 #define __AlsaInterface_h 00031 00032 #if HAVE_CONFIG_H 00033 #include "config.h" 00034 #endif 00035 00037 // Namespace 00039 00040 namespace Gizmod { 00041 00042 /* 00043 #include "AlsaEvent.hpp" 00044 #include "AlsaSoundCard.hpp" 00045 #include "AlsaMixer.hpp" 00046 */ 00047 00049 // Typedefs 00051 00053 // AlsaInterface Class Definition 00055 00060 class AlsaInterface { 00061 public: 00062 // public functions 00063 /* 00064 virtual void onAlsaEventSoundCardAttach(AlsaEvent const & Event, AlsaSoundCard const & SoundCard) = 0; ///< Triggered when a new sound card is detected 00065 virtual void onAlsaEventSoundCardDetach(AlsaEvent const & Event, AlsaSoundCard const & SoundCard) = 0; ///< Triggered when a sound card is removed 00066 virtual void onAlsaEventMixerElementAttach(AlsaEvent const & Event, AlsaSoundCard const & SoundCard, AlsaMixer const & Mixer) = 0; ///< Triggered when a mixer element is discovered 00067 */ 00068 00069 // construction / deconstruction 00070 AlsaInterface(); 00071 virtual ~AlsaInterface(); 00072 00073 // public static functions 00074 00075 private: 00076 // private functions 00077 00078 // private member variables 00079 }; 00080 00082 00083 } // Gizmod namespace 00084 00085 #endif // __AlsaInterface_h