00001 /** 00002 * @file RobotStateDetectorSelector.h 00003 * 00004 * Definition of class RobotStateDetectorSelector 00005 * 00006 * @author Max Risler 00007 * @author Martin Lötzsch 00008 * @author Matthias Jüngel 00009 */ 00010 00011 #ifndef __RobotStateDetectorSelector_h_ 00012 #define __RobotStateDetectorSelector_h_ 00013 00014 #include "Tools/Module/ModuleSelector.h" 00015 #include "GT2004RobotStateDetector.h" 00016 00017 /** 00018 * RobotStateDetector selection module. 00019 * 00020 * A selector for robot state selectors 00021 */ 00022 class RobotStateDetectorSelector : public ModuleSelector, public RobotStateDetectorInterfaces 00023 { 00024 public: 00025 /** 00026 * Constructor. 00027 * @param handler The module handler of the process. 00028 * @param interfaces The paramters of the RobotStateDetector module. 00029 */ 00030 RobotStateDetectorSelector(ModuleHandler &handler, const RobotStateDetectorInterfaces& interfaces) 00031 : ModuleSelector(SolutionRequest::robotStateDetector), 00032 RobotStateDetectorInterfaces(interfaces) 00033 { 00034 handler.setModuleSelector(SolutionRequest::robotStateDetector, this); 00035 } 00036 00037 /** 00038 * Is called on start and when the selected solution changes 00039 * to create a specific solution. 00040 * @param id The id of the solution to create 00041 * @return The created solution or 0 00042 */ 00043 virtual Module* createSolution(SolutionRequest::ModuleSolutionID id) 00044 { 00045 switch(id) 00046 { 00047 case SolutionRequest::gt2004RobotStateDetector: 00048 return new GT2004RobotStateDetector(*this); 00049 default: 00050 return 0; 00051 } 00052 } 00053 }; 00054 00055 #endif // RobotStateDetectorSelector_h_ 00056 00057 /* 00058 * Change log: 00059 * 00060 * $Log: RobotStateDetectorSelector.h,v $ 00061 * Revision 1.2 2004/07/10 00:13:52 spranger 00062 * renaming for coderelease and preparations for gt2005 00063 * 00064 * Revision 1.1.1.1 2004/05/22 17:20:41 cvsadm 00065 * created new repository GT2004_WM 00066 * 00067 * Revision 1.3 2004/03/08 02:11:45 roefer 00068 * Interfaces should be const 00069 * 00070 * Revision 1.2 2004/01/21 14:31:58 loetzsch 00071 * Module Selectors create only the selected solution. 00072 * When the solution changes, the old solution is erased and the new 00073 * one ist created using createSolution(..) 00074 * 00075 * Revision 1.1 2003/10/06 14:10:14 cvsadm 00076 * Created GT2004 (M.J.) 00077 * 00078 * Revision 1.1.1.1 2003/07/02 09:40:24 cvsadm 00079 * created new repository for the competitions in Padova from the 00080 * tamara CVS (Tuesday 2:00 pm) 00081 * 00082 * removed unused solutions 00083 * 00084 * Revision 1.2 2002/09/12 09:45:58 juengel 00085 * continued change of module/solution mechanisms 00086 * 00087 * Revision 1.1 2002/09/10 15:36:15 cvsadm 00088 * Created new project GT2003 (M.L.) 00089 * - Cleaned up the /Src/DataTypes directory 00090 * - Removed challenge related source code 00091 * - Removed processing of incoming audio data 00092 * - Renamed AcousticMessage to SoundRequest 00093 * 00094 * Revision 1.2 2002/05/14 12:39:04 dueffert 00095 * corrected some documentation mistakes 00096 * 00097 * Revision 1.1.1.1 2002/05/10 12:40:15 cvsadm 00098 * Moved GT2002 Project from ute to tamara. 00099 * 00100 * Revision 1.2 2002/03/28 16:55:58 risler 00101 * RobotStateDetector receives BodyPercept instead of PerceptCollection 00102 * added switch duration in RobotStateDetector 00103 * 00104 * Revision 1.1 2002/02/05 03:52:16 loetzsch 00105 * added a few new module selectors 00106 * 00107 */