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_BALLPOSLOG_THREAD_H_
00024 #define __PLUGINS_BALLPOSLOG_THREAD_H_
00025
00026 #include <core/threading/thread.h>
00027 #include <aspect/blocked_timing.h>
00028 #include <aspect/logging.h>
00029 #include <aspect/configurable.h>
00030 #include <aspect/blackboard.h>
00031
00032 namespace fawkes {
00033 class ObjectPositionInterface;
00034 }
00035
00036 class BallPosLogThread
00037 : public fawkes::Thread,
00038 public fawkes::BlockedTimingAspect,
00039 public fawkes::LoggingAspect,
00040 public fawkes::ConfigurableAspect,
00041 public fawkes::BlackBoardAspect
00042 {
00043 public:
00044 BallPosLogThread();
00045 virtual ~BallPosLogThread();
00046
00047 virtual void init();
00048 virtual void loop();
00049 virtual void finalize();
00050
00051
00052 protected: virtual void run() { Thread::run(); }
00053
00054 private:
00055 fawkes::ObjectPositionInterface *wm_ball_interface;
00056 fawkes::Logger::LogLevel log_level;
00057 };
00058
00059 #endif