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 "GT2005SoundControl.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::gt2005SoundControl:
00050       return new GT2005SoundControl(*this);
00051     default:
00052       return 0;
00053     }
00054   }
00055   
00056 };  
00057 
00058 #endif //__SoundControlSelector_h_

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