GlobalObjects
|
Monitoring class for AllSets. More...
Public Member Functions | |
ClassWatch (unsigned long ulClassID) | |
~ClassWatch () | |
void | deleteAllWatches (Communicator *pCommunicator) |
unsigned long | getClassID () const |
std::size_t | getCommunicatorClassNotifyModesMapCount () const |
std::size_t | getObjectWatchMapCount () const |
bool | hasWatches () const |
void | setWatch (const CommunicatorCallBackIndex &rCommunicatorCallBackIndex, const ObjID &rObjID, std::stack< ObjID > *pDependObjIdStack, TdWatchNotifyMode tdWatchNotifyMode, EnDeepMode eDeepMode) |
void | setWatch (const CommunicatorCallBackIndex &rCommunicatorCallBackIndex, TdWatchNotifyMode tdWatchNotifyMode) |
int | unsetWatch (const CommunicatorCallBackIndex &rCommunicatorCallBackIndex, const ObjID &rObjID, 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, bool bSimulate=false) |
int | unsetWatch (const CommunicatorCallBackIndex &rCommunicatorCallBackIndex, TdWatchNotifyMode tdWatchNotifyMode, bool bSimulate=false) |
Protected Member Functions | |
ClassWatch () | |
void | clearCommunicatorClassNotifyModesMap () |
void | ClearObjectWatchMap () |
Private Attributes | |
std::map< CommunicatorCallBackIndex, CommunicatorClassNotifyModes *, std::less< CommunicatorCallBackIndex > > | m_CommunicatorClassNotifyModesMap |
std::map< ObjID, ObjectWatch *, std::less< ObjID > > | m_ObjectWatchMap |
unsigned long | m_ulClassID |
Monitoring class for AllSets.
|
protected |
The standard constructor is not available.
glo::WatchNotifyManager::ClassWatch::ClassWatch | ( | unsigned long | ulClassID | ) |
Constructor with parameter passing.
[in] | ulClassID | The class ID of the AllSet to be monitored. |
glo::WatchNotifyManager::ClassWatch::~ClassWatch | ( | ) |
Destructor.
|
protected |
Removes all monitoring of the AllSet.
|
protected |
Removes all monitoring of the objects.
void glo::WatchNotifyManager::ClassWatch::deleteAllWatches | ( | Communicator * | pCommunicator | ) |
Removes all monitoring of the transferred client communicator.
[in] | pCommunicator | The client communicator. |
unsigned long glo::WatchNotifyManager::ClassWatch::getClassID | ( | ) | const |
Returns the class ID of the AllSet to be monitored.
std::size_t glo::WatchNotifyManager::ClassWatch::getCommunicatorClassNotifyModesMapCount | ( | ) | const |
Returns the number of AllSet monitors.
std::size_t glo::WatchNotifyManager::ClassWatch::getObjectWatchMapCount | ( | ) | const |
Returns the number of object monitors.
bool glo::WatchNotifyManager::ClassWatch::hasWatches | ( | ) | const |
Checks if AllSet monitors are set.
void glo::WatchNotifyManager::ClassWatch::setWatch | ( | const CommunicatorCallBackIndex & | rCommunicatorCallBackIndex, |
const ObjID & | rObjID, | ||
std::stack< ObjID > * | pDependObjIdStack, | ||
TdWatchNotifyMode | tdWatchNotifyMode, | ||
EnDeepMode | eDeepMode ) |
Registers a monitoring for an object with possibly dependent objects.
[in] | rCommunicatorCallBackIndex | The client communicator that wants to monitor. |
[in] | rObjID | The object ID for which the monitoring is to be registered. |
[in] | pDependObjIdStack | The dependent objects that are 'also monitored' by the calling instance. |
[in] | tdWatchNotifyMode | The activated monitoring mode. |
[in] | eDeepMode | The monitoring depth mode for keeping the individual DependentObjsWithDeepMode objects apart. |
void glo::WatchNotifyManager::ClassWatch::setWatch | ( | const CommunicatorCallBackIndex & | rCommunicatorCallBackIndex, |
TdWatchNotifyMode | tdWatchNotifyMode ) |
Registers a monitoring for its AllSet.
[in] | rCommunicatorCallBackIndex | The client communicator that wants to monitor. |
[in] | tdWatchNotifyMode | The activated monitoring mode. |
int glo::WatchNotifyManager::ClassWatch::unsetWatch | ( | const CommunicatorCallBackIndex & | rCommunicatorCallBackIndex, |
const ObjID & | rObjID, | ||
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, | ||
bool | bSimulate = false ) |
Deregisters a monitoring for an object with any dependent objects.
[in] | rCommunicatorCallBackIndex | The client communicator that has monitored. |
[in] | rObjID | The object ID for which the monitoring is to be registered. |
[in,out] | prWNM_ReadDependObjIdStack | The dependent objects that were 'co-monitored' with WNM_READ and must also be 'unregistered' 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 suspended monitoring mode. |
[in] | eDeepMode | The monitoring depth mode for keeping the individual DependentObjsWithDeepMode objects apart. |
[in] | bSimulate | If true, only simulation is performed, no value is set, but a result or error is returned. |
int glo::WatchNotifyManager::ClassWatch::unsetWatch | ( | const CommunicatorCallBackIndex & | rCommunicatorCallBackIndex, |
TdWatchNotifyMode | tdWatchNotifyMode, | ||
bool | bSimulate = false ) |
Deregisters a monitoring for its AllSet.
[in] | rCommunicatorCallBackIndex | The client communicator that has monitored. |
[in] | tdWatchNotifyMode | The suspended monitoring mode. |
[in] | bSimulate | If true, only simulation is performed, no value is set, but a result or error is returned. |
|
private |
The individual CommunicatorClassNotifyModes of the monitored AllSet with the CommunicatorCallBackIndex as index in a map.
|
private |
The object surveillance with the ObjID as index in a map.
|
private |
The class ID of the AllSet to be monitored.