Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class Members | File Members | Related Pages

Modules/SoundControl/SoundControl.h

Go to the documentation of this file.
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_

Generated on Mon Mar 20 21:59:57 2006 for GT2005 by doxygen 1.3.6