baci::BACIMonitor Class Reference

#include <baciBACIMonitor.h>

Collaboration diagram for baci::BACIMonitor:
Collaboration graph
[legend]

List of all members.

Public Types

enum  UpdateMode { mumNull = 0, mumLast = 1, mumTrunc = 2 }

Public Member Functions

 BACIMonitor (const ACE_CString &_name, int _callbackID, MonitorImplementator *monitorImplementator_p, const ACS::TimeInterval &_triggerTime, const BACIValue &_triggerValue, const ACS::TimeInterval &_minTriggerTime, const BACIValue &_minTriggerValue, BACIProperty *_property, const ACS::TimeInterval &_transmitTime=0, const UpdateMode &_updateMode=mumLast, const bool _achivingMonitor=false, const bool _suspended=false, const bool _deltaValueAndTimerInteraction=false, const unsigned int _priority=3)
void destroy ()
 Destroys monitor. Proxy for ~BACIMonitor.
void suspend ()
void resume ()
void setLastTime (const ACS::TimeInterval &_lastTime)
void setTriggerValue (const BACIValue &_triggerValue)
void setMinTriggerValue (const BACIValue &_minTriggerValue)
void setLastValue (const BACIValue &_lastValue)
void setTriggerOnValue (bool enable)
const char * getName () const
bool isSuspended () const
BACIMonitoroperator= (const BACIMonitor &mon)
bool operator== (const BACIMonitor &mon) const
UpdateMode getUpdateMode () const
int getCallbackID () const
ACS::TimeInterval getTriggerTime () const
ACS::TimeInterval getMinTriggerTime () const
ACS::TimeInterval getLastTime () const
ACS::TimeInterval getTransmitTime () const
BACIValue getTriggerValue () const
BACIValue getMinTriggerValue () const
BACIValue getLastValue () const
bool getTriggerOnValue () const
void setUpdateMode (const UpdateMode &_updateMode)
void setTriggerTime (const ACS::TimeInterval &_triggerTime)
void setMinTriggerTime (const ACS::TimeInterval &_minTriggerTime)
void setTransmitTime (const ACS::TimeInterval &_transmitTime)
void monitorStateChanged ()
MonitorImplementatorgetMonitorImplementator () const
BACIPropertygetProperty () const
bool isInDestructionState () const
bool isArchivingMonitor () const
bool isDeltaValueAndTimerInteraction () const
unsigned int getPriority () const

Private Member Functions

 ~BACIMonitor ()
void internalDestroy ()

Private Attributes

ACE_CString name_m
int callbackID_m
MonitorImplementatormonitorImplementator_mp
UpdateMode updateMode_m
ACS::TimeInterval triggerTime_m
ACS::TimeInterval minTriggerTime_m
ACS::TimeInterval transmitTime_m
bool userControlledTransmitTime_m
ACS::TimeInterval lastTime_m
BACIValue triggerValue_m
BACIValue minTriggerValue_m
BACIValue lastValue_m
bool triggerOnValue_m
BACIPropertyproperty_mp
bool archivingMonitor_m
bool suspended_m
bool deltaValueAndTimerInteraction_m
unsigned int priority_m
bool inDestructionState_m
bool destroyed_m

Friends

class BACIProperty

Detailed Description

Class represeting BACI Monitor It provides monitoring capability triggered on time or value change, clients are notified using callbacks

Author:
Matej Sekoranja, Jozef Stefan Institute, Slovenia

Member Enumeration Documentation

Monitor update mode To have synchorinzed monitors mumLast (default) mode has to be used. BACI Monitors support 2 modes: mumLast, mumTrunc Example:

  monitorThreadSleepTime=100
  monitor1TriggerTime=30
  monitor2TriggerTime=140
  pollInterval=10
  Time        mumLast                      mumTrunc
  0                M1 (0), M2 (0)               M1 (0), M2 (0)
  100              M1 (90)                      M1 (0+90)
  200              M1 (180), M2 (140)           M1 (100+90), M2 (0+140)
  300              M1 (300), M2 (280)           M1 (200+90)
  400              M1 (390)                     M1 (300+90), M2 (200+140)
  500              M1 (480), M2 (420)           M1 (400+90)
  600              M1 (600), M2 (560)           M1 (500+90), M2 (400+140)
  700              M1 (690)                     M1 (600+90)
 
Enumerator:
mumNull 
mumLast 
mumTrunc 

Constructor & Destructor Documentation

baci::BACIMonitor::BACIMonitor ( const ACE_CString &  _name,
int  _callbackID,
MonitorImplementator monitorImplementator_p,
const ACS::TimeInterval &  _triggerTime,
const BACIValue _triggerValue,
const ACS::TimeInterval &  _minTriggerTime,
const BACIValue _minTriggerValue,
BACIProperty _property,
const ACS::TimeInterval &  _transmitTime = 0,
const UpdateMode _updateMode = mumLast,
const bool  _achivingMonitor = false,
const bool  _suspended = false,
const bool  _deltaValueAndTimerInteraction = false,
const unsigned int  _priority = 3 
)

Constructor

baci::BACIMonitor::~BACIMonitor (  )  [private]

Destructor Do not call it directly, call internalDestroy() method instead.

See also:
destroy

Member Function Documentation

void baci::BACIMonitor::destroy (  ) 

Destroys monitor. Proxy for ~BACIMonitor.

int baci::BACIMonitor::getCallbackID (  )  const [inline]
ACS::TimeInterval baci::BACIMonitor::getLastTime (  )  const [inline]
BACIValue baci::BACIMonitor::getLastValue (  )  const [inline]
ACS::TimeInterval baci::BACIMonitor::getMinTriggerTime (  )  const [inline]
BACIValue baci::BACIMonitor::getMinTriggerValue (  )  const [inline]
MonitorImplementator* baci::BACIMonitor::getMonitorImplementator (  )  const [inline]
const char* baci::BACIMonitor::getName ( void   )  const [inline]
unsigned int baci::BACIMonitor::getPriority (  )  const [inline]
BACIProperty* baci::BACIMonitor::getProperty (  )  const [inline]
ACS::TimeInterval baci::BACIMonitor::getTransmitTime (  )  const [inline]
bool baci::BACIMonitor::getTriggerOnValue (  )  const [inline]
ACS::TimeInterval baci::BACIMonitor::getTriggerTime (  )  const [inline]
BACIValue baci::BACIMonitor::getTriggerValue (  )  const [inline]
UpdateMode baci::BACIMonitor::getUpdateMode (  )  const [inline]
void baci::BACIMonitor::internalDestroy (  )  [private]
bool baci::BACIMonitor::isArchivingMonitor (  )  const [inline]
bool baci::BACIMonitor::isDeltaValueAndTimerInteraction (  )  const [inline]
bool baci::BACIMonitor::isInDestructionState (  )  const [inline]
bool baci::BACIMonitor::isSuspended (  )  const [inline]
void baci::BACIMonitor::monitorStateChanged (  )  [inline]

Notify monitor implementator about monitor state change

References ACS_TRACE.

BACIMonitor& baci::BACIMonitor::operator= ( const BACIMonitor mon  )  [inline]
bool baci::BACIMonitor::operator== ( const BACIMonitor mon  )  const [inline]

References callbackID_m.

void baci::BACIMonitor::resume (  ) 
void baci::BACIMonitor::setLastTime ( const ACS::TimeInterval &  _lastTime  ) 
void baci::BACIMonitor::setLastValue ( const BACIValue _lastValue  ) 
void baci::BACIMonitor::setMinTriggerTime ( const ACS::TimeInterval &  _minTriggerTime  ) 
void baci::BACIMonitor::setMinTriggerValue ( const BACIValue _minTriggerValue  ) 
void baci::BACIMonitor::setTransmitTime ( const ACS::TimeInterval &  _transmitTime  )  [inline]
void baci::BACIMonitor::setTriggerOnValue ( bool  enable  ) 
void baci::BACIMonitor::setTriggerTime ( const ACS::TimeInterval &  _triggerTime  ) 
void baci::BACIMonitor::setTriggerValue ( const BACIValue _triggerValue  ) 
void baci::BACIMonitor::setUpdateMode ( const UpdateMode _updateMode  ) 
void baci::BACIMonitor::suspend (  ) 

Friends And Related Function Documentation

friend class BACIProperty [friend]

Member Data Documentation

Referenced by operator=().

Referenced by operator=(), and operator==().

Referenced by operator=().

Referenced by operator=().

Referenced by operator=().

ACS::TimeInterval baci::BACIMonitor::lastTime_m [private]

Referenced by operator=().

Referenced by operator=().

ACS::TimeInterval baci::BACIMonitor::minTriggerTime_m [private]

Referenced by operator=().

Referenced by operator=().

Referenced by operator=().

ACE_CString baci::BACIMonitor::name_m [private]

Referenced by operator=().

unsigned int baci::BACIMonitor::priority_m [private]

Referenced by operator=().

Referenced by operator=().

Referenced by operator=().

ACS::TimeInterval baci::BACIMonitor::transmitTime_m [private]

Referenced by operator=().

Referenced by operator=().

ACS::TimeInterval baci::BACIMonitor::triggerTime_m [private]

Referenced by operator=().

Referenced by operator=().

Referenced by operator=().

Referenced by operator=().


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

Generated by  doxygen 1.6.2