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_