INTRODUCTION Overview Download and Install Documentation Publications REPOSITORY Libraries DEVELOPER Dev Guide Dashboard PEOPLE Contributors Users Project Download Mailing lists
|
subsystemthread.h00001 /* 00002 * GearBox Project: Peer-Reviewed Open-Source Libraries for Robotics 00003 * http://gearbox.sf.net/ 00004 * Copyright (c) 2004-2008 Alex Brooks, Alexei Makarenko, Tobias Kaupp 00005 * 00006 * This distribution is licensed to you under the terms described in 00007 * the LICENSE file included in this distribution. 00008 * 00009 */ 00010 00011 #ifndef GBXICEUTILACFR_SUBSYSTEM_THREAD_H 00012 #define GBXICEUTILACFR_SUBSYSTEM_THREAD_H 00013 00014 #include <gbxsickacfr/gbxiceutilacfr/thread.h> 00015 #include <gbxsickacfr/gbxutilacfr/substatus.h> 00016 #include <gbxsickacfr/gbxutilacfr/status.h> 00017 #include <gbxsickacfr/gbxutilacfr/tracer.h> 00018 00019 namespace gbxsickacfr { 00020 namespace gbxiceutilacfr { 00021 00046 class SubsystemThread : public Thread 00047 { 00048 public: 00051 SubsystemThread( gbxutilacfr::Tracer& tracer, gbxutilacfr::Status& status, const std::string& subsysName="SubsystemThread" ); 00052 00053 // from IceUtil::Thread 00056 virtual void run(); 00057 00060 virtual void walk()=0; 00061 00063 gbxutilacfr::SubStatus& subStatus() { return subStatus_; }; 00064 00066 std::string subsysName() const { return subStatus_.name(); }; 00067 00068 private: 00069 gbxutilacfr::Tracer& tracer_; 00070 gbxutilacfr::SubStatus subStatus_; 00071 }; 00073 typedef IceUtil::Handle<SubsystemThread> SubsystemThreadPtr; 00074 00075 } 00076 } // end namespace 00077 00078 #endif |