INTRODUCTION Overview Download and Install Documentation Publications REPOSITORY Libraries DEVELOPER Dev Guide Dashboard PEOPLE Contributors Users Project Download Mailing lists
|
trivialstatus.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 GBXUTILACFR_TRIVIAL_STATUS_H 00012 #define GBXUTILACFR_TRIVIAL_STATUS_H 00013 00014 #include <gbxutilacfr/status.h> 00015 #include <gbxutilacfr/tracer.h> 00016 00017 namespace gbxutilacfr { 00018 00019 00025 class TrivialStatus : public Status 00026 { 00027 public: 00028 00029 TrivialStatus( Tracer& tracer, 00030 bool heartbeat=false, bool ok=false, bool init=false, bool warn=true, bool fault=true ); 00031 00032 virtual void addSubsystem( const std::string& subsystem, double maxHeartbeatIntervalSec=-1.0 ); 00033 virtual void removeSubsystem( const std::string& subsystem ); 00035 virtual std::vector<std::string> subsystems(); 00037 virtual SubsystemStatus subsystemStatus( const std::string& subsystem ); 00038 virtual void setMaxHeartbeatInterval( const std::string& subsystem, double interval ); 00039 virtual void initialising( const std::string& subsystem, const std::string& message="" ); 00040 virtual void ok( const std::string& subsystem, const std::string& message="" ); 00041 virtual void warning( const std::string& subsystem, const std::string& message ); 00042 virtual void fault( const std::string& subsystem, const std::string& message ); 00043 virtual void heartbeat( const std::string& subsystem ); 00044 virtual void process(); 00045 00046 private: 00047 00048 Tracer& tracer_; 00049 00050 bool heartbeat_; 00051 bool ok_; 00052 bool init_; 00053 bool warn_; 00054 bool fault_; 00055 }; 00056 00057 } // namespace 00058 00059 #endif |