GlobalObjects
|
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...
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 () |
Communicator * | getCommunicator () |
WatchNotifyManager::CommunicatorCallBackIndex & | getCommunicatorCallBackIndex () |
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 |
Monitoring or notification mode of objects with their dependent objects. Dependent objects are the embedded or directly loaded objects in pointers and pointer lists.
|
protected |
The standard constructor is not available.
glo::WatchNotifyManager::CommunicatorObjNotifyModes::CommunicatorObjNotifyModes | ( | const CommunicatorCallBackIndex & | rCommunicatorCallBackIndex | ) |
Constructor with parameter passing.
[in] | rCommunicatorCallBackIndex | The client communicator CallBackIndex. |
|
virtual |
Destructor.
|
private |
Clears a read-monitoring list of structures with object ID and monitoring depth mode.
[in,out] | pList | The list to be cleared (the objects are removed from memory) |
|
virtual |
Checks whether monitoring is set.
Implements glo::WatchNotifyManager::CommunicatorNotifyModes.
|
protected |
The passed WatchNotifyMode is registered with its eDeepMode depending on pDependObjIdStack if set, otherwise deregistered.
[in] | tdWatchNotifyMode | The WatchNotifyMode. |
[in] | eDeepMode | The monitoring depth mode for keeping the individual DependentObjsWithDeepMode objects apart. |
[in] | prWNM_ReadDependObjIdStack | The dependent objects that were 'co-monitored' with WNM_READ and must also be 'deregistered' if parameter pDependObjIdStack == 0 and parameter bSimulate == false. |
[in] | prWNM_WriteDependObjIdStack | The dependent objects that were 'co-monitored' with WNM_WRITE and must also be 'deregistered' if parameter pDependObjIdStack == 0 and parameter bSimulate == false. |
[in] | prWNM_DeleteDependObjIdStack | The dependent objects that were 'co-monitored' with WNM_DELETE and must also be 'deregistered' if parameter pDependObjIdStack == 0 and parameter bSimulate == false. |
[in] | prWNM_LockDependObjIdStack | The dependent objects that were 'co-monitored' with WNM_LOCK and must also be 'deregistered' if parameter pDependObjIdStack == 0 and parameter bSimulate == false. |
[in] | prWNM_UnlockDependObjIdStack | The dependent objects that were 'co-monitored' with WNM_UNLOCK and must also be 'deregistered' if parameter pDependObjIdStack == 0 and parameter bSimulate == false. |
[in] | pDependObjIdStack | The dependent objects that are also monitored (if passed, then registered). |
[in] | rObjID | The monitored object. |
[in] | bSimulate | If true, only simulation is performed, no value is set, but a result or error is returned. |
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.
[in] | pDependObjIdStack | The dependent objects that are 'co-monitored' by the calling instance. |
[in] | tdWatchNotifyMode | The activated monitoring mode. |
[in] | eDeepMode | The monitoring depth mode to keep the individual DependentObjsWithDeepMode objects apart. |
[in] | rObjID | The object to be monitored. |
|
protected |
Increments or decrements (depending on parameter pDependObjIdStack) one monitoring registration.
[in,out] | rWatchCountList | The affected read-monitoring list of structures with object ID and monitoring depth mode. |
[in,out] | prDependObjIdStack | The objects for which the monitoring was deregistered (is only filled if parameter pDependObjIdStack == 0). |
[in] | pDependObjIdStack | The dependent objects that are also monitored (if passed, these are registered). |
[in] | eDeepMode | The monitoring depth mode for keeping the individual DependentObjsWithDeepMode objects apart. |
[in] | rObjID | The monitored object. |
[in,out] | rActionList | List of objects of the type CommunicatorCallBackIndex via which the individual clients can be notified about the individual actions is filled here. |
[in] | bSimulate | If true, only simulated, thus no value is set, but a result or error is delivered. |
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.
[in,out] | prWNM_ReadDependObjIdStack | The dependent objects that were 'also monitored' with WNM_READ and must also be 'deregistered' if parameter bSimulate == false. |
[in,out] | prWNM_WriteDependObjIdStack | The dependent objects that were 'also monitored' with WNM_WRITE and must also be 'deregistered' if parameter bSimulate == false. |
[in,out] | prWNM_DeleteDependObjIdStack | The dependent objects that were 'monitored' with WNM_DELETE and must also be 'deregistered' if parameter bSimulate == false. |
[in,out] | prWNM_LockDependObjIdStack | The dependent objects that were 'monitored' with WNM_LOCK and must also be 'unregistered' if parameter bSimulate == false. |
[in,out] | prWNM_UnlockDependObjIdStack | The dependent objects that were 'co-monitored' with WNM_UNLOCK and must also be 'deregistered' if parameter bSimulate == false. |
[in] | tdWatchNotifyMode | The unregistered monitoring mode. |
[in] | eDeepMode | The monitoring depth mode for keeping the individual DependentObjsWithDeepMode objects apart. |
[in] | rObjID | The monitored object. |
[in] | bSimulate | If true, only simulation is performed, no value is set, but a result or error is returned. |
|
private |
For internal use to avoid multiple instantiation.
|
private |
"Delete" monitoring list of dependent objects with object ID and monitoring depth mode.
|
private |
"Lock" monitoring list of dependent objects with object ID and monitoring depth mode.
|
private |
"Read" monitoring list of dependent objects with object ID and monitoring depth mode.
|
private |
"Unlock" monitoring list of dependent objects with object ID and monitoring depth mode.
|
private |
"Write" monitoring list of dependent objects with object ID and monitoring depth mode.