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_
1.3.6