00001 #ifndef INPUTMANAGER_HPP
00002 #define INPUTMANAGER_HPP
00003
00004 #include <graphmap/inputManagerAbstract.hpp>
00005 #include <graphmap/ioData.hpp>
00006
00007 namespace jafar{
00008 namespace graphmap{
00009
00010 template <typename DataType>
00011 class InputManager : public InputManagerAbstract
00012 {
00013 public:
00014 InputManager(graph_manager_ptr_t gm)
00015 : InputManagerAbstract(gm) {}
00016
00017 void addInput(DataType data){ _data_buffer.push_back(data); }
00018
00019 std::list<DataType> _data_buffer;
00020
00021 };
00022
00023 class LinkInputManager : public InputManager<new_map_data_t>
00024 {
00025 public:
00026 LinkInputManager(graph_manager_ptr_t gm)
00027 : InputManager(gm) {}
00028
00029 virtual void processInputs();
00030
00031 };
00032
00033 class RobotPoseInputManager : public InputManager<euler_tf_data_t>
00034 {
00035 public:
00036 RobotPoseInputManager(graph_manager_ptr_t gm)
00037 : InputManager(gm) {}
00038
00039 virtual void processInputs();
00040
00041 };
00042
00043 }
00044 }
00045
00046 #endif // INPUTMANAGER_HPP