GlobalObjects
Loading...
Searching...
No Matches
glo::WatchNotifyManager::CommunicatorObjNotifyModes Class Reference

Monitoring or notification mode of objects with their dependent objects. Dependent objects are the embedded or directly loaded objects in pointers and pointer lists. More...

Inheritance diagram for glo::WatchNotifyManager::CommunicatorObjNotifyModes:

Public Member Functions

 CommunicatorObjNotifyModes (const CommunicatorCallBackIndex &rCommunicatorCallBackIndex)
 
virtual ~CommunicatorObjNotifyModes ()
 
virtual bool hasWatches () const
 
void setWatch (std::stack< ObjID > *pDependObjIdStack, TdWatchNotifyMode tdWatchNotifyMode, EnDeepMode eDeepMode, const ObjID &rObjID)
 
int unsetWatch (std::stack< ObjID > *&prWNM_ReadDependObjIdStack, std::stack< ObjID > *&prWNM_WriteDependObjIdStack, std::stack< ObjID > *&prWNM_DeleteDependObjIdStack, std::stack< ObjID > *&prWNM_LockDependObjIdStack, std::stack< ObjID > *&prWNM_UnlockDependObjIdStack, TdWatchNotifyMode tdWatchNotifyMode, EnDeepMode eDeepMode, const ObjID &rObjID, bool bSimulate=false)
 
- Public Member Functions inherited from glo::WatchNotifyManager::CommunicatorNotifyModes
 CommunicatorNotifyModes (const CommunicatorCallBackIndex &rCommunicatorCallBackIndex)
 
virtual ~CommunicatorNotifyModes ()
 
NUM_PTR getCallBackIndex ()
 
CommunicatorgetCommunicator ()
 
WatchNotifyManager::CommunicatorCallBackIndexgetCommunicatorCallBackIndex ()
 

Protected Member Functions

 CommunicatorObjNotifyModes ()
 
int setUnsetWatch (TdWatchNotifyMode tdWatchNotifyMode, EnDeepMode eDeepMode, std::stack< ObjID > *&prWNM_ReadDependObjIdStack, std::stack< ObjID > *&prWNM_WriteDependObjIdStack, std::stack< ObjID > *&prWNM_DeleteDependObjIdStack, std::stack< ObjID > *&prWNM_LockDependObjIdStack, std::stack< ObjID > *&prWNM_UnlockDependObjIdStack, std::stack< ObjID > *pDependObjIdStack, const ObjID &rObjID, bool bSimulate=false)
 
int setWatchCount (std::list< DependentObjsWithDeepMode * > &rWatchCountList, std::stack< ObjID > *&prDependObjIdStack, std::stack< ObjID > *pDependObjIdStack, EnDeepMode eDeepMode, const ObjID &rObjID, std::list< CommunicatorCallBackIndex * > &rActionList, bool bSimulate=false)
 
- Protected Member Functions inherited from glo::WatchNotifyManager::CommunicatorNotifyModes
 CommunicatorNotifyModes ()
 

Private Member Functions

void clearList (std::list< DependentObjsWithDeepMode * > *pList)
 

Private Attributes

bool m_bCopyDependObjIdStack
 
std::list< DependentObjsWithDeepMode * > m_WNM_DELETE
 
std::list< DependentObjsWithDeepMode * > m_WNM_LOCK
 
std::list< DependentObjsWithDeepMode * > m_WNM_READ
 
std::list< DependentObjsWithDeepMode * > m_WNM_UNLOCK
 
std::list< DependentObjsWithDeepMode * > m_WNM_WRITE
 

Detailed Description

Monitoring or notification mode of objects with their dependent objects. Dependent objects are the embedded or directly loaded objects in pointers and pointer lists.

Author
Helmut Jakoby

Constructor & Destructor Documentation

◆ CommunicatorObjNotifyModes() [1/2]

glo::WatchNotifyManager::CommunicatorObjNotifyModes::CommunicatorObjNotifyModes ( )
protected

The standard constructor is not available.

◆ CommunicatorObjNotifyModes() [2/2]

glo::WatchNotifyManager::CommunicatorObjNotifyModes::CommunicatorObjNotifyModes ( const CommunicatorCallBackIndex & rCommunicatorCallBackIndex)

Constructor with parameter passing.

Parameters
[in]rCommunicatorCallBackIndexThe client communicator CallBackIndex.

◆ ~CommunicatorObjNotifyModes()

virtual glo::WatchNotifyManager::CommunicatorObjNotifyModes::~CommunicatorObjNotifyModes ( )
virtual

Destructor.

Member Function Documentation

◆ clearList()

void glo::WatchNotifyManager::CommunicatorObjNotifyModes::clearList ( std::list< DependentObjsWithDeepMode * > * pList)
private

Clears a read-monitoring list of structures with object ID and monitoring depth mode.

Parameters
[in,out]pListThe list to be cleared (the objects are removed from memory)

◆ hasWatches()

virtual bool glo::WatchNotifyManager::CommunicatorObjNotifyModes::hasWatches ( ) const
virtual

Checks whether monitoring is set.

Returns
Returns true if any supervision is set.

Implements glo::WatchNotifyManager::CommunicatorNotifyModes.

◆ setUnsetWatch()

int glo::WatchNotifyManager::CommunicatorObjNotifyModes::setUnsetWatch ( TdWatchNotifyMode tdWatchNotifyMode,
EnDeepMode eDeepMode,
std::stack< ObjID > *& prWNM_ReadDependObjIdStack,
std::stack< ObjID > *& prWNM_WriteDependObjIdStack,
std::stack< ObjID > *& prWNM_DeleteDependObjIdStack,
std::stack< ObjID > *& prWNM_LockDependObjIdStack,
std::stack< ObjID > *& prWNM_UnlockDependObjIdStack,
std::stack< ObjID > * pDependObjIdStack,
const ObjID & rObjID,
bool bSimulate = false )
protected

The passed WatchNotifyMode is registered with its eDeepMode depending on pDependObjIdStack if set, otherwise deregistered.

Parameters
[in]tdWatchNotifyModeThe WatchNotifyMode.
[in]eDeepModeThe monitoring depth mode for keeping the individual DependentObjsWithDeepMode objects apart.
[in]prWNM_ReadDependObjIdStackThe dependent objects that were 'co-monitored' with WNM_READ and must also be 'deregistered' if parameter pDependObjIdStack == 0 and parameter bSimulate == false.
[in]prWNM_WriteDependObjIdStackThe dependent objects that were 'co-monitored' with WNM_WRITE and must also be 'deregistered' if parameter pDependObjIdStack == 0 and parameter bSimulate == false.
[in]prWNM_DeleteDependObjIdStackThe dependent objects that were 'co-monitored' with WNM_DELETE and must also be 'deregistered' if parameter pDependObjIdStack == 0 and parameter bSimulate == false.
[in]prWNM_LockDependObjIdStackThe dependent objects that were 'co-monitored' with WNM_LOCK and must also be 'deregistered' if parameter pDependObjIdStack == 0 and parameter bSimulate == false.
[in]prWNM_UnlockDependObjIdStackThe dependent objects that were 'co-monitored' with WNM_UNLOCK and must also be 'deregistered' if parameter pDependObjIdStack == 0 and parameter bSimulate == false.
[in]pDependObjIdStackThe dependent objects that are also monitored (if passed, then registered).
[in]rObjIDThe monitored object.
[in]bSimulateIf true, only simulation is performed, no value is set, but a result or error is returned.
Returns
A return value > 0 indicates that the monitoring mode was switched off; however, there are still as many monitoring modes as specified in the return value.
A return == 0 indicates that the monitoring mode has been switched off and there are no further monitoring modes!
A return value < 0 indicates an error.

◆ setWatch()

void glo::WatchNotifyManager::CommunicatorObjNotifyModes::setWatch ( std::stack< ObjID > * pDependObjIdStack,
TdWatchNotifyMode tdWatchNotifyMode,
EnDeepMode eDeepMode,
const ObjID & rObjID )

Registers a monitoring for an object with possibly dependent objects.

Parameters
[in]pDependObjIdStackThe dependent objects that are 'co-monitored' by the calling instance.
[in]tdWatchNotifyModeThe activated monitoring mode.
[in]eDeepModeThe monitoring depth mode to keep the individual DependentObjsWithDeepMode objects apart.
[in]rObjIDThe object to be monitored.

◆ setWatchCount()

int glo::WatchNotifyManager::CommunicatorObjNotifyModes::setWatchCount ( std::list< DependentObjsWithDeepMode * > & rWatchCountList,
std::stack< ObjID > *& prDependObjIdStack,
std::stack< ObjID > * pDependObjIdStack,
EnDeepMode eDeepMode,
const ObjID & rObjID,
std::list< CommunicatorCallBackIndex * > & rActionList,
bool bSimulate = false )
protected

Increments or decrements (depending on parameter pDependObjIdStack) one monitoring registration.

Parameters
[in,out]rWatchCountListThe affected read-monitoring list of structures with object ID and monitoring depth mode.
[in,out]prDependObjIdStackThe objects for which the monitoring was deregistered (is only filled if parameter pDependObjIdStack == 0).
[in]pDependObjIdStackThe dependent objects that are also monitored (if passed, these are registered).
[in]eDeepModeThe monitoring depth mode for keeping the individual DependentObjsWithDeepMode objects apart.
[in]rObjIDThe monitored object.
[in,out]rActionListList of objects of the type CommunicatorCallBackIndex via which the individual clients can be notified about the individual actions is filled here.
[in]bSimulateIf true, only simulated, thus no value is set, but a result or error is delivered.
Returns
A return value < 0 indicates an error.

◆ unsetWatch()

int glo::WatchNotifyManager::CommunicatorObjNotifyModes::unsetWatch ( std::stack< ObjID > *& prWNM_ReadDependObjIdStack,
std::stack< ObjID > *& prWNM_WriteDependObjIdStack,
std::stack< ObjID > *& prWNM_DeleteDependObjIdStack,
std::stack< ObjID > *& prWNM_LockDependObjIdStack,
std::stack< ObjID > *& prWNM_UnlockDependObjIdStack,
TdWatchNotifyMode tdWatchNotifyMode,
EnDeepMode eDeepMode,
const ObjID & rObjID,
bool bSimulate = false )

Deregisters a monitoring for an object with possibly dependent objects.

Parameters
[in,out]prWNM_ReadDependObjIdStackThe dependent objects that were 'also monitored' with WNM_READ and must also be 'deregistered' if parameter bSimulate == false.
[in,out]prWNM_WriteDependObjIdStackThe dependent objects that were 'also monitored' with WNM_WRITE and must also be 'deregistered' if parameter bSimulate == false.
[in,out]prWNM_DeleteDependObjIdStackThe dependent objects that were 'monitored' with WNM_DELETE and must also be 'deregistered' if parameter bSimulate == false.
[in,out]prWNM_LockDependObjIdStackThe dependent objects that were 'monitored' with WNM_LOCK and must also be 'unregistered' if parameter bSimulate == false.
[in,out]prWNM_UnlockDependObjIdStackThe dependent objects that were 'co-monitored' with WNM_UNLOCK and must also be 'deregistered' if parameter bSimulate == false.
[in]tdWatchNotifyModeThe unregistered monitoring mode.
[in]eDeepModeThe monitoring depth mode for keeping the individual DependentObjsWithDeepMode objects apart.
[in]rObjIDThe monitored object.
[in]bSimulateIf true, only simulation is performed, no value is set, but a result or error is returned.
Returns
A return value > 0 indicates that the monitoring mode was switched off; however, there are still as many monitoring modes as specified in the return value.
A return == 0 indicates that the monitoring mode has been switched off and there are no further monitoring modes!
A return value < 0 indicates an error.

Member Data Documentation

◆ m_bCopyDependObjIdStack

bool glo::WatchNotifyManager::CommunicatorObjNotifyModes::m_bCopyDependObjIdStack
private

For internal use to avoid multiple instantiation.

◆ m_WNM_DELETE

std::list<DependentObjsWithDeepMode *> glo::WatchNotifyManager::CommunicatorObjNotifyModes::m_WNM_DELETE
private

"Delete" monitoring list of dependent objects with object ID and monitoring depth mode.

◆ m_WNM_LOCK

std::list<DependentObjsWithDeepMode *> glo::WatchNotifyManager::CommunicatorObjNotifyModes::m_WNM_LOCK
private

"Lock" monitoring list of dependent objects with object ID and monitoring depth mode.

◆ m_WNM_READ

std::list<DependentObjsWithDeepMode *> glo::WatchNotifyManager::CommunicatorObjNotifyModes::m_WNM_READ
private

"Read" monitoring list of dependent objects with object ID and monitoring depth mode.

◆ m_WNM_UNLOCK

std::list<DependentObjsWithDeepMode *> glo::WatchNotifyManager::CommunicatorObjNotifyModes::m_WNM_UNLOCK
private

"Unlock" monitoring list of dependent objects with object ID and monitoring depth mode.

◆ m_WNM_WRITE

std::list<DependentObjsWithDeepMode *> glo::WatchNotifyManager::CommunicatorObjNotifyModes::m_WNM_WRITE
private

"Write" monitoring list of dependent objects with object ID and monitoring depth mode.


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