00001 /** 00002 * @file LEDControlSelector.h 00003 * 00004 * Definition of class LEDControlSelector 00005 * 00006 * @author Matthias Jüngel 00007 */ 00008 00009 #ifndef __LEDControlSelector_h_ 00010 #define __LEDControlSelector_h_ 00011 00012 #include "Tools/Module/ModuleSelector.h" 00013 #include "GT2004LEDControl.h" 00014 00015 /** 00016 * LEDControl selection module. 00017 * 00018 * A selector for LED control modules. 00019 */ 00020 class LEDControlSelector : public ModuleSelector, public LEDControlInterfaces 00021 { 00022 public: 00023 /** 00024 * Constructor. 00025 * @param handler The module handler of the process. 00026 * @param interfaces The paramters of the LEDControl module. 00027 */ 00028 LEDControlSelector(ModuleHandler &handler,const LEDControlInterfaces& interfaces) 00029 : ModuleSelector(SolutionRequest::ledControl), 00030 LEDControlInterfaces(interfaces) 00031 { 00032 handler.setModuleSelector(SolutionRequest::ledControl,this); 00033 } 00034 00035 /** 00036 * Is called on start and when the selected solution changes 00037 * to create a specific solution. 00038 * @param id The id of the solution to create 00039 * @return The created solution or 0 00040 */ 00041 virtual Module* createSolution(SolutionRequest::ModuleSolutionID id) 00042 { 00043 switch(id) 00044 { 00045 case SolutionRequest::gt2004LEDControl: 00046 return new GT2004LEDControl(*this); 00047 00048 default: 00049 return 0; 00050 } 00051 } 00052 }; 00053 00054 #endif // __LEDControlSelector_h_ 00055 00056 /* 00057 * Change log : 00058 * 00059 * $Log: LEDControlSelector.h,v $ 00060 * Revision 1.3 2004/05/22 22:16:10 loetzsch 00061 * renamed ATH2004LEDControl to GT2004LEDControl 00062 * 00063 * Revision 1.2 2004/05/22 18:47:42 juengel 00064 * Removed some solutions. 00065 * 00066 * Revision 1.1.1.1 2004/05/22 17:20:15 cvsadm 00067 * created new repository GT2004_WM 00068 * 00069 * Revision 1.1 2004/03/20 17:16:13 juengel 00070 * no message 00071 * 00072 */