My Project
 All Classes Files Functions Variables Enumerations Enumerator Friends Macros Pages
gcp::util::PagerMonitor Class Reference

#include <PagerMonitor.h>

Classes

struct  RegSpec
 

Public Member Functions

 PagerMonitor ()
 
 PagerMonitor (ArrayDataFrameManager *source)
 
virtual ~PagerMonitor ()
 
void setHandler (MONITOR_CONDITION_HANDLER(*handler), void *arg=0)
 
std::vector
< PagerMonitor::RegSpec
addOutOfRangeMonitorPoint (std::string regSpec, double min, double max, bool delta=false, unsigned nFrame=defaultNframe_, std::string script="")
 
std::vector
< PagerMonitor::RegSpec
addInRangeMonitorPoint (std::string regSpec, double min, double max, bool delta=false, unsigned nFrame=defaultNframe_, std::string script="")
 
std::vector
< PagerMonitor::RegSpec
addMonitorPoint (std::string regSpec, DataTypeTruthFn fn, DataType &min, DataType &max, bool delta, unsigned nFrame, bool outOfRange, std::string script="")
 
void remMonitorPoint (std::string regSpec)
 
void checkRegisters ()
 
void reset ()
 
void clear ()
 
void list ()
 
std::vector
< PagerMonitor::RegSpec
getRegs ()
 
std::vector< std::string > getList (bool sort=false)
 
std::vector< std::string > format (std::string regSpec)
 
void lock ()
 
void unlock ()
 

Static Public Attributes

static unsigned defaultNframe_ = 1
 

Friends

std::ostream & operator<< (std::ostream &os, PagerMonitor &pm)
 
std::ostream & operator<< (std::ostream &os, PagerMonitor::RegSpec &rs)
 

Detailed Description

A class for monitoring registers to activate the pager.

The idea is to re-use the MonitorPointManager infrastructure that already exists for Can packet monitoring. This allows the user to register conditions to be checked when a register is written to, and to register handlers to be called when those conditions are met. Because these conditions are checked when registers are written, this is implemented here by copying the corresponding registers from the latest data frame into a dummy frame.

Constructor & Destructor Documentation

PagerMonitor::PagerMonitor ( )

Constructor.

....................................................................... Constructor.

PagerMonitor::PagerMonitor ( ArrayDataFrameManager source)

....................................................................... Constructor.

PagerMonitor::~PagerMonitor ( )
virtual

Destructor.

....................................................................... Destructor.

Member Function Documentation

std::vector< PagerMonitor::RegSpec > PagerMonitor::addInRangeMonitorPoint ( std::string  regSpec,
double  min,
double  max,
bool  delta = false,
unsigned  nFrame = defaultNframe_,
std::string  script = "" 
)

....................................................................... Add a monitor point to activate the pager when a register goes into the specified range

std::vector< PagerMonitor::RegSpec > PagerMonitor::addMonitorPoint ( std::string  regSpec,
DataTypeTruthFn  fn,
DataType min,
DataType max,
bool  delta,
unsigned  nFrame,
bool  outOfRange,
std::string  script = "" 
)

....................................................................... And add monitor points associated with a register specification

std::vector< PagerMonitor::RegSpec > PagerMonitor::addOutOfRangeMonitorPoint ( std::string  regSpec,
double  min,
double  max,
bool  delta = false,
unsigned  nFrame = defaultNframe_,
std::string  script = "" 
)

Methods to add a register to be monitored

....................................................................... Add a monitor point to activate the pager when a register goes out of the specified range

void PagerMonitor::checkRegisters ( )

....................................................................... A method to call to check registers

void PagerMonitor::clear ( )

....................................................................... Clear this manager of all monitor points

std::vector< std::string > PagerMonitor::format ( std::string  regSpec)

....................................................................... List all monitor points

std::vector< std::string > PagerMonitor::getList ( bool  sort = false)

....................................................................... List all monitor points

std::vector< PagerMonitor::RegSpec > PagerMonitor::getRegs ( )

....................................................................... Return a list of all monitor points

void PagerMonitor::list ( )

....................................................................... List all monitor points

void PagerMonitor::remMonitorPoint ( std::string  regSpec)

....................................................................... And remove monitor points associated with a register specification

void PagerMonitor::reset ( )

....................................................................... Reset all monitor points


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