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_
00063 
00064 /*
00065 * Change log :
00066 * 
00067 * $Log: SoundControl.h,v $
00068 * Revision 1.1.1.1  2004/05/22 17:21:31  cvsadm
00069 * created new repository GT2004_WM
00070 *
00071 * Revision 1.2  2004/03/08 02:11:52  roefer
00072 * Interfaces should be const
00073 *
00074 * Revision 1.1  2003/10/06 14:10:14  cvsadm
00075 * Created GT2004 (M.J.)
00076 *
00077 * Revision 1.2  2003/09/26 15:27:49  juengel
00078 * Renamed DataTypes to representations.
00079 *
00080 * Revision 1.1.1.1  2003/07/02 09:40:24  cvsadm
00081 * created new repository for the competitions in Padova from the 
00082 * tamara CVS (Tuesday 2:00 pm)
00083 *
00084 * removed unused solutions
00085 *
00086 * Revision 1.4  2002/09/12 13:17:27  loetzsch
00087 * made member variables of module interfaces protected
00088 *
00089 * Revision 1.3  2002/09/11 20:06:19  loetzsch
00090 * continued experiments with modules/solutions
00091 *
00092 * Revision 1.2  2002/09/11 00:06:58  loetzsch
00093 * continued change of module/solution mechanisms
00094 *
00095 * Revision 1.1  2002/09/10 15:36:16  cvsadm
00096 * Created new project GT2003 (M.L.)
00097 * - Cleaned up the /Src/DataTypes directory
00098 * - Removed challenge related source code
00099 * - Removed processing of incoming audio data
00100 * - Renamed AcousticMessage to SoundRequest
00101 *
00102 * Revision 1.5  2002/07/23 13:33:43  loetzsch
00103 * new streaming classes
00104 *
00105 * removed many #include statements
00106 *
00107 * Revision 1.4  2002/05/27 15:39:04  fischer
00108 * Added SoundState (Sender and Receiver)
00109 *
00110 * Revision 1.3  2002/05/15 07:28:18  hebbel
00111 * Removed mute, uses Soundprotocol instead, plays wave for patternchallenge
00112 *
00113 * Revision 1.2  2002/05/14 18:52:58  hebbel
00114 * Added variable mute
00115 *
00116 * Revision 1.1.1.1  2002/05/10 12:40:16  cvsadm
00117 * Moved GT2002 Project from ute to tamara.
00118 *
00119 * Revision 1.1  2002/04/28 19:14:12  giese
00120 * SoundPlay added...
00121 *
00122 *
00123 * 
00124 */

Generated on Thu Sep 23 19:57:32 2004 for GT2004 by doxygen 1.3.6