INTRODUCTION
Overview
Download and Install
Documentation
Publications

REPOSITORY
Libraries

DEVELOPER
Dev Guide
Dashboard

PEOPLE
Contributors
Users

SourceForge.net Logo
Project
Download
Mailing lists

 

         

gbxutilacfr::TrivialStatus Class Reference

A trivial implementation of the status API which prints to cout. More...

#include <trivialstatus.h>

Inherits gbxutilacfr::Status.

Inheritance diagram for gbxutilacfr::TrivialStatus:

Inheritance graph
[legend]
List of all members.

Public Member Functions

virtual void addSubsystem (const std::string &subsystem, double maxHeartbeatIntervalSec=-1.0)
virtual void removeSubsystem (const std::string &subsystem)
virtual std::vector< std::string > subsystems ()
 does not keep track of subsystems, returns empty vector.
virtual SubsystemStatus subsystemStatus (const std::string &subsystem)
 does not keep track of status, throws Exception on any query
virtual void setMaxHeartbeatInterval (const std::string &subsystem, double interval)
virtual void initialising (const std::string &subsystem, const std::string &message="")
virtual void ok (const std::string &subsystem, const std::string &message="")
virtual void warning (const std::string &subsystem, const std::string &message)
virtual void fault (const std::string &subsystem, const std::string &message)
virtual void heartbeat (const std::string &subsystem)
virtual void process ()

Detailed Description

A trivial implementation of the status API which prints to cout.

See also:
Status


Member Function Documentation

void gbxutilacfr::TrivialStatus::addSubsystem ( const std::string &  subsystem,
double  maxHeartbeatIntervalSec = -1.0 
) [virtual]

Adds subsystem to the system status monitor. This command must be called before any other. I.e. all other status commands are ignored unless a subsystem with that name already exists. When trying to add a subsystem with an existing name, the existing subsystem is left unchanged and warning trace is produced.

May also specify the maximum expected interval between heartbeats. When time since last heartbeat exceeds this, an alarm is raised. Heartbeat interval is normally positive, measured in seconds. Negative interval means infinite interval, this is the default behavior.

The initial state of the subsystem is Initialising.

Implements gbxutilacfr::Status.

void gbxutilacfr::TrivialStatus::fault ( const std::string &  subsystem,
const std::string &  message 
) [virtual]

Sets subsystem status to Fault. Throws gbxutilacfr::Exception if the subsystem does not exist.

Implements gbxutilacfr::Status.

void gbxutilacfr::TrivialStatus::heartbeat ( const std::string &  subsystem  )  [virtual]

Record heartbeat from a subsystem: let Status know the subsystem is alive without modifying its status. Throws gbxutilacfr::Exception if the subsystem does not exist.

Implements gbxutilacfr::Status.

void gbxutilacfr::TrivialStatus::initialising ( const std::string &  subsystem,
const std::string &  message = "" 
) [virtual]

Sets subsystem status to Initialising. Note that empty message is assumed if none is supplied. Throws gbxutilacfr::Exception if the subsystem does not exist.

Implements gbxutilacfr::Status.

void gbxutilacfr::TrivialStatus::ok ( const std::string &  subsystem,
const std::string &  message = "" 
) [virtual]

Sets subsystem status to Ok. Note that empty message is assumed if none is supplied. Throws gbxutilacfr::Exception if the subsystem does not exist.

Implements gbxutilacfr::Status.

void gbxutilacfr::TrivialStatus::process (  )  [virtual]

Some thread should call this function periodically in order for status publishing to happen.

Implements gbxutilacfr::Status.

void gbxutilacfr::TrivialStatus::removeSubsystem ( const std::string &  subsystem  )  [virtual]

Removes subsystem from the status monitor. This should be done for example, if one of the thread is shutting down or restarting. Throws gbxutilacfr::Exception if the subsystem does not exist.

Implements gbxutilacfr::Status.

void gbxutilacfr::TrivialStatus::setMaxHeartbeatInterval ( const std::string &  subsystem,
double  interval 
) [virtual]

Modifies maximum expected interval between heartbeats (in seconds). When time since last heartbeat exceeds this, alarm is raised. Throws gbxutilacfr::Exception if the subsystem does not exist.

Implements gbxutilacfr::Status.

void gbxutilacfr::TrivialStatus::warning ( const std::string &  subsystem,
const std::string &  message 
) [virtual]

Sets subsystem status to Warning. Throws gbxutilacfr::Exception if the subsystem does not exist.

Implements gbxutilacfr::Status.


The documentation for this class was generated from the following files:
 

Generated for GearBox by  doxygen 1.4.5