00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #ifndef __PLUGINS_KATANA_SENSOR_THREAD_H_
00024 #define __PLUGINS_KATANA_SENSOR_THREAD_H_
00025
00026 #include "act_thread.h"
00027
00028 #include <core/threading/thread.h>
00029 #include <aspect/blocked_timing.h>
00030 #include <aspect/logging.h>
00031 #include <aspect/configurable.h>
00032 #include <core/utils/refptr.h>
00033
00034 #include <string>
00035 #include <memory>
00036
00037 namespace fawkes {
00038 class KatanaInterface;
00039 }
00040
00041 class KatanaSensorThread
00042 : public fawkes::Thread,
00043 public fawkes::BlockedTimingAspect,
00044 public fawkes::LoggingAspect,
00045 public fawkes::ConfigurableAspect
00046 {
00047 public:
00048 KatanaSensorThread(KatanaActThread *act_thread);
00049
00050 virtual void loop();
00051
00052
00053 protected: virtual void run() { Thread::run(); }
00054
00055 private:
00056 KatanaActThread *__act_thread;
00057 };
00058
00059
00060 #endif