00001 /* 00002 * DHDDriver.h 00003 * 00004 * Created on: Sep 27, 2011 00005 * Author: mriedel 00006 */ 00007 00008 #ifndef DHDDRIVER_H_ 00009 #define DHDDRIVER_H_ 00010 00011 #include <map> 00012 00013 #include <ros/ros.h> 00014 00015 #include "DHDDevice.hpp" 00016 00017 #include <tk_haptics_base/HapticDeviceController.hpp> 00018 #include <pluginlib/class_loader.h> 00019 00020 #include <telekyb_base/Options.hpp> 00021 00022 namespace TELEKYB_NAMESPACE 00023 { 00024 00025 //class DHDDriverOptions : public OptionContainer 00026 //{ 00027 //public: 00031 // 00032 // Option< std::string >* tJoystickTopic; 00033 // Option< double >* tJoystickFrequency; 00034 // DHDDriverOptions(); 00035 //}; 00036 00037 class DHDDriver { 00038 protected: 00039 bool initError; 00040 00041 // DeviceContainer 00042 std::set<DHDDevice*> devices; 00043 00044 // Loader 00045 pluginlib::ClassLoader<HapticDeviceController> controllerLoader; 00046 00047 00048 void dhdInit(); 00049 00050 public: 00051 DHDDriver(); 00052 virtual ~DHDDriver(); 00053 00054 void start(); 00055 }; 00056 00057 } // Namespace 00058 00059 #endif /* DHDDRIVER_H_ */