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

Modules/SoundControl/SoundControlSelector.h

Go to the documentation of this file.
00001 /**
00002 * @file SoundControlSelector.h
00003 *
00004 * Definition of class SoundControlSelector
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 __SoundControlSelector_h_
00011 #define __SoundControlSelector_h_
00012 
00013 #include "Tools/Module/ModuleSelector.h"
00014 #include "GT2004SoundControl.h"
00015 
00016 /**
00017 * @class SoundControlSelector
00018 * 
00019 * A module selector for sound control modules 
00020 *
00021 * @author <a href="mailto:Oliver.Giese@uni-dortmund.de">Oliver Giese</a>
00022 * @author <a href="mailto:matthias.hebbel@uni-dortmund.de">Matthias Hebbel</a>
00023 */ 
00024 class SoundControlSelector : public ModuleSelector, public SoundControlInterfaces
00025 {
00026 public:
00027 /**
00028 * Constructor.
00029 * @param handler The module handler of the process.
00030 * @param interfaces The paramters of the SoundControl module.
00031   */
00032   SoundControlSelector(ModuleHandler &handler,const SoundControlInterfaces& interfaces) 
00033     : ModuleSelector(SolutionRequest::soundControl),
00034     SoundControlInterfaces(interfaces)
00035   {
00036     handler.setModuleSelector(SolutionRequest::soundControl,this);
00037   }
00038   
00039   /** 
00040   * Is called on start and when the selected solution changes
00041   * to create a specific solution.
00042   * @param id The id of the solution to create
00043   * @return The created solution or 0
00044   */
00045   virtual Module* createSolution(SolutionRequest::ModuleSolutionID id)
00046   {
00047     switch(id)
00048     {
00049     case SolutionRequest::gt2004SoundControl:
00050       return new GT2004SoundControl(*this);
00051     default:
00052       return 0;
00053     }
00054   }
00055   
00056 };  
00057 
00058 #endif //__SoundControlSelector_h_
00059 
00060 /*
00061 * Change log :
00062 * 
00063 * $Log: SoundControlSelector.h,v $
00064 * Revision 1.2  2004/07/10 00:13:53  spranger
00065 * renaming for coderelease and preparations for gt2005
00066 *
00067 * Revision 1.1.1.1  2004/05/22 17:21:31  cvsadm
00068 * created new repository GT2004_WM
00069 *
00070 * Revision 1.3  2004/03/08 02:11:52  roefer
00071 * Interfaces should be const
00072 *
00073 * Revision 1.2  2004/01/21 14:31:58  loetzsch
00074 * Module Selectors create only the selected solution.
00075 * When the solution changes, the old solution is erased and the new
00076 * one ist created using createSolution(..)
00077 *
00078 * Revision 1.1  2003/10/06 14:10:14  cvsadm
00079 * Created GT2004 (M.J.)
00080 *
00081 * Revision 1.1.1.1  2003/07/02 09:40:24  cvsadm
00082 * created new repository for the competitions in Padova from the 
00083 * tamara CVS (Tuesday 2:00 pm)
00084 *
00085 * removed unused solutions
00086 *
00087 * Revision 1.5  2002/11/19 15:43:03  dueffert
00088 * doxygen comments corrected
00089 *
00090 * Revision 1.4  2002/10/14 13:14:25  dueffert
00091 * doxygen comments corrected
00092 *
00093 * Revision 1.3  2002/09/11 00:06:58  loetzsch
00094 * continued change of module/solution mechanisms
00095 *
00096 * Revision 1.2  2002/09/10 21:07:30  loetzsch
00097 * continued change of module/solution mechanisms
00098 *
00099 * Revision 1.1  2002/09/10 15:36:16  cvsadm
00100 * Created new project GT2003 (M.L.)
00101 * - Cleaned up the /Src/DataTypes directory
00102 * - Removed challenge related source code
00103 * - Removed processing of incoming audio data
00104 * - Renamed AcousticMessage to SoundRequest
00105 *
00106 * Revision 1.4  2002/05/27 15:39:04  fischer
00107 * Added SoundState (Sender and Receiver)
00108 *
00109 * Revision 1.3  2002/05/15 07:28:18  hebbel
00110 * Removed mute, uses Soundprotocol instead, plays wave for patternchallenge
00111 *
00112 * Revision 1.2  2002/05/14 18:52:58  hebbel
00113 * Added variable mute
00114 *
00115 * Revision 1.1.1.1  2002/05/10 12:40:16  cvsadm
00116 * Moved GT2002 Project from ute to tamara.
00117 *
00118 * Revision 1.1  2002/04/28 19:14:12  giese
00119 * SoundPlay added...
00120 *
00121 *
00122 * 
00123 */

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