Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class Members | File Members | Related Pages

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 TimeInterval &_triggerTime, const BACIValue &_triggerValue, const TimeInterval &_minTriggerTime, const BACIValue &_minTriggerValue, BACIProperty *_property, const 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 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
TimeInterval getTriggerTime () const
TimeInterval getMinTriggerTime () const
TimeInterval getLastTime () const
TimeInterval getTransmitTime () const
BACIValue getTriggerValue () const
BACIValue getMinTriggerValue () const
BACIValue getLastValue () const
bool getTriggerOnValue () const
void setUpdateMode (const UpdateMode &_updateMode)
void setTriggerTime (const TimeInterval &_triggerTime)
void setMinTriggerTime (const TimeInterval &_minTriggerTime)
void setTransmitTime (const 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
TimeInterval triggerTime_m
TimeInterval minTriggerTime_m
TimeInterval transmitTime_m
bool userControlledTransmitTime_m
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

enum baci::BACIMonitor::UpdateMode
 

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)
Enumeration values:
mumNull 
mumLast 
mumTrunc 


Constructor & Destructor Documentation

baci::BACIMonitor::BACIMonitor const ACE_CString &  _name,
int  _callbackID,
MonitorImplementator monitorImplementator_p,
const TimeInterval _triggerTime,
const BACIValue _triggerValue,
const TimeInterval _minTriggerTime,
const BACIValue _minTriggerValue,
BACIProperty _property,
const 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]
 

TimeInterval baci::BACIMonitor::getLastTime  )  const [inline]
 

BACIValue baci::BACIMonitor::getLastValue  )  const [inline]
 

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]
 

TimeInterval baci::BACIMonitor::getTransmitTime  )  const [inline]
 

bool baci::BACIMonitor::getTriggerOnValue  )  const [inline]
 

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 void   )  [inline]
 

Notify monitor implementator about monitor state change

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

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

void baci::BACIMonitor::resume  ) 
 

void baci::BACIMonitor::setLastTime const TimeInterval _lastTime  ) 
 

void baci::BACIMonitor::setLastValue const BACIValue _lastValue  ) 
 

void baci::BACIMonitor::setMinTriggerTime const TimeInterval _minTriggerTime  ) 
 

void baci::BACIMonitor::setMinTriggerValue const BACIValue _minTriggerValue  ) 
 

void baci::BACIMonitor::setTransmitTime const TimeInterval _transmitTime  )  [inline]
 

void baci::BACIMonitor::setTriggerOnValue bool  enable  ) 
 

void baci::BACIMonitor::setTriggerTime const 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

bool baci::BACIMonitor::archivingMonitor_m [private]
 

int baci::BACIMonitor::callbackID_m [private]
 

bool baci::BACIMonitor::deltaValueAndTimerInteraction_m [private]
 

bool baci::BACIMonitor::destroyed_m [private]
 

bool baci::BACIMonitor::inDestructionState_m [private]
 

TimeInterval baci::BACIMonitor::lastTime_m [private]
 

BACIValue baci::BACIMonitor::lastValue_m [private]
 

TimeInterval baci::BACIMonitor::minTriggerTime_m [private]
 

BACIValue baci::BACIMonitor::minTriggerValue_m [private]
 

MonitorImplementator* baci::BACIMonitor::monitorImplementator_mp [private]
 

ACE_CString baci::BACIMonitor::name_m [private]
 

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

BACIProperty* baci::BACIMonitor::property_mp [private]
 

bool baci::BACIMonitor::suspended_m [private]
 

TimeInterval baci::BACIMonitor::transmitTime_m [private]
 

bool baci::BACIMonitor::triggerOnValue_m [private]
 

TimeInterval baci::BACIMonitor::triggerTime_m [private]
 

BACIValue baci::BACIMonitor::triggerValue_m [private]
 

UpdateMode baci::BACIMonitor::updateMode_m [private]
 

bool baci::BACIMonitor::userControlledTransmitTime_m [private]
 


The documentation for this class was generated from the following file:
Generated on Sun Oct 29 02:31:45 2006 for ACS C++ API by doxygen 1.3.6