00001 /** 00002 * @file SensorDataProcessorSelector.h 00003 * 00004 * Declaration of class SensorDataProcessorSelector 00005 * 00006 * @author Martin Lötzsch 00007 */ 00008 00009 #ifndef __SensorDataProcessorSelector_h_ 00010 #define __SensorDataProcessorSelector_h_ 00011 00012 #include "Tools/Module/ModuleHandler.h" 00013 #include "GT2004SensorDataProcessor.h" 00014 00015 /** 00016 * @class SensorDataProcessorSelector 00017 * 00018 * A module selector for sensor data processors. 00019 * 00020 * @author Martin Lötzsch 00021 */ 00022 class SensorDataProcessorSelector : public ModuleSelector, public SensorDataProcessorInterfaces 00023 { 00024 public: 00025 /** 00026 * Constructor. 00027 * @param handler The module handler of the process. 00028 * @param interfaces The paramters of the HeadControl module. 00029 */ 00030 SensorDataProcessorSelector(ModuleHandler &handler, 00031 const SensorDataProcessorInterfaces& interfaces) 00032 : ModuleSelector(SolutionRequest::sensorDataProcessor), 00033 SensorDataProcessorInterfaces(interfaces) 00034 { 00035 handler.setModuleSelector(SolutionRequest::sensorDataProcessor,this); 00036 }; 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::gt2004SensorDataProcessor: 00050 return new GT2004SensorDataProcessor(*this); 00051 00052 default: 00053 return 0; 00054 } 00055 } 00056 }; 00057 00058 #endif //__SensorDataProcessorSelector_h_ 00059 00060 /* 00061 * Change log: 00062 * 00063 * $Log: SensorDataProcessorSelector.h,v $ 00064 * Revision 1.2 2004/07/10 00:13:53 spranger 00065 * renaming for coderelease and preparations for gt2005 00066 * 00067 * Revision 1.1.1.1 2004/05/22 17:21:30 cvsadm 00068 * created new repository GT2004_WM 00069 * 00070 * Revision 1.4 2004/03/08 02:11:52 roefer 00071 * Interfaces should be const 00072 * 00073 * Revision 1.3 2004/02/04 13:41:33 roefer 00074 * Some place holders for BB2004 modules added 00075 * 00076 * Revision 1.2 2004/01/21 14:31:58 loetzsch 00077 * Module Selectors create only the selected solution. 00078 * When the solution changes, the old solution is erased and the new 00079 * one ist created using createSolution(..) 00080 * 00081 * Revision 1.1 2003/10/06 14:10:14 cvsadm 00082 * Created GT2004 (M.J.) 00083 * 00084 * Revision 1.1.1.1 2003/07/02 09:40:24 cvsadm 00085 * created new repository for the competitions in Padova from the 00086 * tamara CVS (Tuesday 2:00 pm) 00087 * 00088 * removed unused solutions 00089 * 00090 * Revision 1.5 2002/09/17 23:55:22 loetzsch 00091 * - unraveled several datatypes 00092 * - changed the WATCH macro 00093 * - completed the process restructuring 00094 * 00095 * Revision 1.4 2002/09/12 12:24:09 juengel 00096 * continued change of module/solution mechanisms 00097 * 00098 * Revision 1.3 2002/09/10 21:07:30 loetzsch 00099 * continued change of module/solution mechanisms 00100 * 00101 * Revision 1.2 2002/09/10 17:53:40 loetzsch 00102 * First draft of new Module/Solution Mechanisms 00103 * 00104 * Revision 1.1 2002/09/10 15:36:16 cvsadm 00105 * Created new project GT2003 (M.L.) 00106 * - Cleaned up the /Src/DataTypes directory 00107 * - Removed challenge related source code 00108 * - Removed processing of incoming audio data 00109 * - Renamed AcousticMessage to SoundRequest 00110 * 00111 * Revision 1.2 2002/05/14 12:39:04 dueffert 00112 * corrected some documentation mistakes 00113 * 00114 * Revision 1.1.1.1 2002/05/10 12:40:15 cvsadm 00115 * Moved GT2002 Project from ute to tamara. 00116 * 00117 * Revision 1.2 2002/04/02 13:10:20 dueffert 00118 * big change: odometryData and cameraMatrix in image now, old logfiles may be obsolete 00119 * 00120 * Revision 1.1 2002/02/05 03:51:14 loetzsch 00121 * added a few new module selectors 00122 * 00123 */