00001 /** 00002 * @file SoundControl.h 00003 * 00004 * Implementation of class SoundControl. 00005 * 00006 * @author <a href="mailto:Oliver.Giese@uni-dortmund.de">Oliver Giese</a> 00007 * @author <a href="mailto:matthias.hebbel@uni-dortmund.de">Matthias Hebbel</a> 00008 */ 00009 00010 #ifndef __SoundControl_h_ 00011 #define __SoundControl_h_ 00012 00013 #include "Tools/Module/Module.h" 00014 00015 #include "Representations/Sound/SoundRequest.h" 00016 #include "Representations/Sound/SoundData.h" 00017 00018 /** 00019 * @class SoundControlInterfaces 00020 * 00021 * Interfaces of the SoundControl module. 00022 */ 00023 class SoundControlInterfaces 00024 { 00025 public: 00026 /** Constructor */ 00027 SoundControlInterfaces(const SoundRequest& soundRequest, 00028 SoundData& soundData) 00029 : soundRequest(soundRequest), 00030 soundData(soundData) 00031 {}; 00032 protected: 00033 /** A request from the behavior control to play a specific sound */ 00034 const SoundRequest& soundRequest; 00035 00036 /** The sound data to be generated */ 00037 SoundData& soundData; 00038 }; 00039 00040 /** 00041 * @class SoundControl 00042 * 00043 * A generic class for SoundControl modules. 00044 * 00045 * SoundControl is responsible for generating audio data. 00046 */ 00047 class SoundControl : public Module, public SoundControlInterfaces 00048 { 00049 public: 00050 /* 00051 * Constructor. 00052 * @param interfaces The paramters of the SoundControl module. 00053 */ 00054 SoundControl(const SoundControlInterfaces& interfaces) 00055 : SoundControlInterfaces(interfaces) 00056 {} 00057 00058 /** Destructor */ 00059 virtual ~SoundControl() {} 00060 }; 00061 00062 #endif //__SoundControl_h_
1.3.6