00001 // Copyright (C) 2006 University of Louisiana at Lafayette 00002 // Authors: Christopher Mire 00003 00004 #ifndef CAJUN_SENSOR_CONTROLLER_H 00005 #define CAJUN_SENSOR_CONTROLLER_H 00006 00007 #include "controller_interface.H" 00008 #include "queue_generator.H" 00009 00010 namespace cajun 00011 { 00012 //class steering_sensor_t; 00013 //class controller_interface_t; 00014 00015 class sensor_controller_t : public controller_interface_t 00016 { 00017 public: 00018 sensor_controller_t (); 00019 sensor_controller_t (dynamic_object_t *object, timer_t *timer); 00020 ~sensor_controller_t (); 00021 private: 00022 class steering_observer_t : public timer_t::observer_t 00023 { 00024 public: 00025 steering_observer_t (steering_sensor_t *m, double interval_v); 00026 virtual ~steering_observer_t (); 00027 bool timeout (double currTime); 00028 private: 00029 steering_sensor_t *m_steering_sensor; 00030 steering_data_t m_steering_data; 00031 }; 00032 }; 00033 } 00034 #endif