1#ifndef INC_GLOWATCHNOTIFYMANAGER_H
2#define INC_GLOWATCHNOTIFYMANAGER_H
61#include <unordered_map>
67#if defined (__PTHREADS)
69 #include <semaphore.h>
347 #if defined (__PTHREADS)
713 unsigned int uiClientID,
714 const std::string & rstrClientName,
715 const std::string & rstrIPAdress,
716 const std::string & rstrBaseName );
883 const std::string & rsSchemaName,
884 const ObjID & rObjID,
1015 NUM_PTR ipCallBack );
1204 NUM_PTR ipCallBack );
1225 unsigned long ulClassID );
1376 NUM_PTR ipCallBack );
1397 const ObjID & rObjID );
1533 NUM_PTR ipCallBack );
1653 NUM_PTR ipCallBack );
2008 unsigned long ulClassID );
2042 unsigned long ulClassID,
2043 bool bSimulate =
false );
2234 void setWatch( std::stack< ObjID > * pDependObjIdStack,
2237 const ObjID & rObjID );
2300 int unsetWatch( std::stack< ObjID > *& prWNM_WriteDependObjIdStack,
2301 std::stack< ObjID > *& prWNM_DeleteDependObjIdStack,
2302 std::stack< ObjID > *& prWNM_LockDependObjIdStack,
2303 std::stack< ObjID > *& prWNM_UnlockDependObjIdStack,
2306 const ObjID & rObjID,
2307 bool bSimulate =
false );
2390 std::stack< ObjID > *& prWNM_WriteDependObjIdStack,
2391 std::stack< ObjID > *& prWNM_DeleteDependObjIdStack,
2392 std::stack< ObjID > *& prWNM_LockDependObjIdStack,
2393 std::stack< ObjID > *& prWNM_UnlockDependObjIdStack,
2394 std::stack< ObjID > * pDependObjIdStack,
2395 const ObjID & rObjID,
2396 bool bSimulate =
false );
2445 std::stack< ObjID > *& prDependObjIdStack,
2446 std::stack< ObjID > * pDependObjIdStack,
2448 const ObjID & rObjID,
2449 std::list< CommunicatorCallBackIndex * > & rActionList,
2450 bool bSimulate =
false );
2471 void clearList( std::list< DependentObjsWithDeepMode * > * pList );
2647 bool bSimulate =
false );
2860 std::unordered_map< CommunicatorCallBackIndex, CommunicatorObjNotifyModes *, glo::WatchNotifyManager::CommunicatorCallBackIndex::HashFunction >
2962 std::stack< ObjID > * pDependObjIdStack,
3032 std::stack< ObjID > *& prWNM_WriteDependObjIdStack,
3033 std::stack< ObjID > *& prWNM_DeleteDependObjIdStack,
3034 std::stack< ObjID > *& prWNM_LockDependObjIdStack,
3035 std::stack< ObjID > *& prWNM_UnlockDependObjIdStack,
3038 bool bSimulate =
false );
3114 std::unordered_map< CommunicatorCallBackIndex, CommunicatorClassNotifyModes *, glo::WatchNotifyManager::CommunicatorCallBackIndex::HashFunction >
3277 bool bSimulate =
false );
3312 const ObjID & rObjID,
3313 std::stack< ObjID > * pDependObjIdStack,
3384 const ObjID & rObjID,
3385 std::stack< ObjID > *& prWNM_WriteDependObjIdStack,
3386 std::stack< ObjID > *& prWNM_DeleteDependObjIdStack,
3387 std::stack< ObjID > *& prWNM_LockDependObjIdStack,
3388 std::stack< ObjID > *& prWNM_UnlockDependObjIdStack,
3391 bool bSimulate =
false );
3468 std::unordered_map< CommunicatorCallBackIndex, CommunicatorClientNotifyModes *, glo::WatchNotifyManager::CommunicatorCallBackIndex::HashFunction >
3578 bool bSimulate =
false);
3647 std::unordered_map< CommunicatorCallBackIndex, CommunicatorIndexReadWriteNotifyModes *, glo::WatchNotifyManager::CommunicatorCallBackIndex::HashFunction >
3758 bool bSimulate =
false );
3983 #if defined (__PTHREADS)
4131 #if defined (__PTHREADS)
4147 virtual void cleanUp();
4259 unsigned long ulClassID,
4298 const ObjID & rObjID,
4299 std::map<
ObjID,
Record *, std::less<ObjID> > & rDependObjectsMap,
4367 unsigned long ulClassID,
4369 bool bSimulate =
false );
4418 const ObjID & rObjID,
4421 bool bSimulate =
false );
4462 bool bSimulate =
false);
4481 std::list< CommunicatorCallBackIndex * > & rActionList );
4497 std::list< CommunicatorCallBackIndex * > & rActionList );
4523 std::list< Manager::ObjIdWithDepends * > & rInputList );
4548 std::list< ObjID > & rInputList );
4581 void * pOrderObject,
4582 void * pAdditionalInfo );
4672 std::list< CommunicatorCallBackIndex * > & rActionList )
const;
4740 std::list< CommunicatorCallBackIndex * > & rActionList );
4776 unsigned long ulClassID,
4777 bool bAlsoGenerate );
4840 std::stack< ObjID > & rDependObjIdStack,
Header for EuEndlessPThread
Header for RepeatingThread
Header for Manager Manager::Receiver Manager::ObjIdWithDepends Manager::SchemaMapItem
For each library, here 'GlobalObjects' there is a type file.
#define __glo_export_dll
Definition GloTypes.h:70
Header for WatchSpecification
Base class for a thread that executes its work endlessly until aborted.
Definition EuEndlessPThread.h:84
Is a mutex which can be queried via its lock mode. See isLocked().
Definition EuPCriticalSection.h:104
Is a mutex which can be queried via its lock mode. See isLocked().
Definition EuCriticalSection.h:109
Base class for a thread that executes its work endlessly until aborted.
Definition EuRepeatingThread.h:93
Superclass of LocalThread, ClientThread and ServerThread, because they can act as senders and receive...
Definition GloCommunicator.h:93
The object of this class is the central point of contact for actions that deal with GlobalObjects dat...
Definition GloManager.h:193
An object ID consists of the class ID, a database ID and the actual unique object number (all unsigne...
Definition GloObjID.h:84
This class is used to handle the communication between the application that uses GlobalObjects and Gl...
Definition GloOrderMsg.h:84
EnOrderType
Definition GloOrderMsg.h:105
Objects of this class transport the data from the tables into the persistent object and from these ag...
Definition GloRecord.h:108
Monitoring class for AllSets.
Definition GloWatchNotifyManager.h:3088
int unsetWatch(const CommunicatorCallBackIndex &rCommunicatorCallBackIndex, TdWatchNotifyMode tdWatchNotifyMode, bool bSimulate=false)
void setWatch(const CommunicatorCallBackIndex &rCommunicatorCallBackIndex, TdWatchNotifyMode tdWatchNotifyMode)
void ClearObjectWatchMap()
unsigned long getClassID() const
std::unordered_map< CommunicatorCallBackIndex, CommunicatorClassNotifyModes *, glo::WatchNotifyManager::CommunicatorCallBackIndex::HashFunction > m_CommunicatorClassNotifyModesMap
Definition GloWatchNotifyManager.h:3115
ClassWatch(unsigned long ulClassID)
void clearCommunicatorClassNotifyModesMap()
unsigned long m_ulClassID
Definition GloWatchNotifyManager.h:3101
std::size_t getObjectWatchMapCount() const
int unsetWatch(const CommunicatorCallBackIndex &rCommunicatorCallBackIndex, const ObjID &rObjID, 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)
std::unordered_map< ObjID, ObjectWatch *, glo::ObjID::HashFunction > m_ObjectWatchMap
Definition GloWatchNotifyManager.h:3126
void deleteAllWatches(Communicator *pCommunicator)
void setWatch(const CommunicatorCallBackIndex &rCommunicatorCallBackIndex, const ObjID &rObjID, std::stack< ObjID > *pDependObjIdStack, TdWatchNotifyMode tdWatchNotifyMode, EnDeepMode eDeepMode)
std::size_t getCommunicatorClassNotifyModesMapCount() const
Monitoring class for client logins and logouts.
Definition GloWatchNotifyManager.h:3453
std::unordered_map< CommunicatorCallBackIndex, CommunicatorClientNotifyModes *, glo::WatchNotifyManager::CommunicatorCallBackIndex::HashFunction > m_CommunicatorClientNotifyModesMap
Definition GloWatchNotifyManager.h:3469
void deleteAllWatches(Communicator *pCommunicator)
std::size_t getCommunicatorClientNotifyModesMapCount() const
int unsetWatch(const CommunicatorCallBackIndex &rCommunicatorCallBackIndex, TdWatchNotifyMode tdWatchNotifyMode, bool bSimulate=false)
void setWatch(const CommunicatorCallBackIndex &rCommunicatorCallBackIndex, TdWatchNotifyMode tdWatchNotifyMode)
void clearCommunicatorClientNotifyModesMap()
Is a unique index for maps of CommunicatorClassNotifyModes and as index for the static action lists.
Definition GloWatchNotifyManager.h:1154
bool operator>(const CommunicatorCallBackClassIndex &rT) const
Comparison operator.
CommunicatorCallBackClassIndex(Communicator *pCommunicator, NUM_PTR ipCallBack, unsigned long ulClassID)
bool operator==(const CommunicatorCallBackClassIndex &rT) const
Comparison operator.
virtual ~CommunicatorCallBackClassIndex()
CommunicatorCallBackClassIndex()
bool operator<=(const CommunicatorCallBackClassIndex &rT) const
Comparison operator.
bool operator!=(const CommunicatorCallBackClassIndex &rT) const
Comparison operator.
bool operator>=(const CommunicatorCallBackClassIndex &rT) const
Comparison operator.
unsigned long m_ulClassID
Definition GloWatchNotifyManager.h:1167
CommunicatorCallBackClassIndex(Communicator *pCommunicator, NUM_PTR ipCallBack)
unsigned long getClassID()
bool operator<(const CommunicatorCallBackClassIndex &rT) const
Comparison operator.
WatchNotifyManager::CommunicatorCallBackClassIndex & operator=(const CommunicatorCallBackClassIndex &rT)
CommunicatorCallBackClassIndex(const CommunicatorCallBackClassIndex &rT)
Is a unique index for maps of CommunicatorClientNotifyModes and as index for the static action lists.
Definition GloWatchNotifyManager.h:1498
CommunicatorCallBackClientIndex(const CommunicatorCallBackClientIndex &rT)
CommunicatorCallBackClientIndex()
bool operator>=(const CommunicatorCallBackClientIndex &rT) const
Comparison operator.
virtual ~CommunicatorCallBackClientIndex()
WatchNotifyManager::CommunicatorCallBackClientIndex & operator=(const CommunicatorCallBackClientIndex &rT)
CommunicatorCallBackClientIndex(Communicator *pCommunicator, NUM_PTR ipCallBack)
bool operator<=(const CommunicatorCallBackClientIndex &rT) const
Comparison operator.
bool operator!=(const CommunicatorCallBackClientIndex &rT) const
Comparison operator.
bool operator==(const CommunicatorCallBackClientIndex &rT) const
Comparison operator.
bool operator<(const CommunicatorCallBackClientIndex &rT) const
Comparison operator.
bool operator>(const CommunicatorCallBackClientIndex &rT) const
Comparison operator.
Base class of a unique index for maps of derived classes of CommunicatorNotifyModes and as index for ...
Definition GloWatchNotifyManager.h:952
WatchNotifyManager::CommunicatorCallBackIndex & operator=(const CommunicatorCallBackIndex &rT)
NUM_PTR getCallBackIndex()
bool operator<(const CommunicatorCallBackIndex &rT) const
Comparison operator.
CommunicatorCallBackIndex(Communicator *pCommunicator, NUM_PTR ipCallBack)
bool operator>(const CommunicatorCallBackIndex &rT) const
Comparison operator.
Communicator * getCommunicator()
bool operator!=(const CommunicatorCallBackIndex &rT) const
Comparison operator.
NUM_PTR m_npCallBack
Definition GloWatchNotifyManager.h:978
bool operator>=(const CommunicatorCallBackIndex &rT) const
Comparison operator.
bool operator<=(const CommunicatorCallBackIndex &rT) const
Comparison operator.
Communicator * m_pCommunicator
Definition GloWatchNotifyManager.h:965
virtual ~CommunicatorCallBackIndex()
CommunicatorCallBackIndex(const CommunicatorCallBackIndex &rT)
bool operator==(const CommunicatorCallBackIndex &rT) const
Comparison operator.
CommunicatorCallBackIndex()
Is a unique index for maps from CommunicatorCallBackIndexReadWriteIndex and as index for the static a...
Definition GloWatchNotifyManager.h:1618
virtual ~CommunicatorCallBackIndexReadWriteIndex()
bool operator<(const CommunicatorCallBackIndexReadWriteIndex &rT) const
Comparison operator.
bool operator!=(const CommunicatorCallBackIndexReadWriteIndex &rT) const
Comparison operator.
CommunicatorCallBackIndexReadWriteIndex(Communicator *pCommunicator, NUM_PTR ipCallBack)
CommunicatorCallBackIndexReadWriteIndex(const CommunicatorCallBackIndexReadWriteIndex &rT)
bool operator==(const CommunicatorCallBackIndexReadWriteIndex &rT) const
Comparison operator.
WatchNotifyManager::CommunicatorCallBackIndexReadWriteIndex & operator=(const CommunicatorCallBackIndexReadWriteIndex &rT)
bool operator>=(const CommunicatorCallBackIndexReadWriteIndex &rT) const
Comparison operator.
bool operator<=(const CommunicatorCallBackIndexReadWriteIndex &rT) const
Comparison operator.
CommunicatorCallBackIndexReadWriteIndex()
bool operator>(const CommunicatorCallBackIndexReadWriteIndex &rT) const
Comparison operator.
Is a unique index for maps of CommunicatorObjNotifyModes and as index for the static action lists.
Definition GloWatchNotifyManager.h:1326
bool operator>=(const CommunicatorCallBackObjIndex &rT) const
Comparison operator.
bool operator!=(const CommunicatorCallBackObjIndex &rT) const
Comparison operator.
virtual ~CommunicatorCallBackObjIndex()
ObjID m_ObjID
Definition GloWatchNotifyManager.h:1339
bool operator<(const CommunicatorCallBackObjIndex &rT) const
Comparison operator.
CommunicatorCallBackObjIndex(Communicator *pCommunicator, NUM_PTR ipCallBack, const ObjID &rObjID)
CommunicatorCallBackObjIndex(const CommunicatorCallBackObjIndex &rT)
CommunicatorCallBackObjIndex()
WatchNotifyManager::CommunicatorCallBackObjIndex & operator=(const CommunicatorCallBackObjIndex &rT)
bool operator>(const CommunicatorCallBackObjIndex &rT) const
Comparison operator.
bool operator==(const CommunicatorCallBackObjIndex &rT) const
Comparison operator.
bool operator<=(const CommunicatorCallBackObjIndex &rT) const
Comparison operator.
CommunicatorCallBackObjIndex(Communicator *pCommunicator, NUM_PTR ipCallBack)
Monitoring or notification mode of AllSets.
Definition GloWatchNotifyManager.h:1874
int unsetWatch(TdWatchNotifyMode tdWatchNotifyMode, unsigned long ulClassID, bool bSimulate=false)
int m_iWNM_LOCK
Definition GloWatchNotifyManager.h:1909
CommunicatorClassNotifyModes(const CommunicatorCallBackIndex &rCommunicatorCallBackIndex)
virtual ~CommunicatorClassNotifyModes()
int m_iWNM_INSERT
Definition GloWatchNotifyManager.h:1931
void setWatch(TdWatchNotifyMode tdWatchNotifyMode, unsigned long ulClassID)
int m_iWNM_WRITE
Definition GloWatchNotifyManager.h:1887
int m_iWNM_DELETE
Definition GloWatchNotifyManager.h:1898
int m_iWNM_UNLOCK
Definition GloWatchNotifyManager.h:1920
virtual bool hasWatches() const
CommunicatorClassNotifyModes()
Monitoring or notification mode of client logins and logouts.
Definition GloWatchNotifyManager.h:2495
int unsetWatch(TdWatchNotifyMode tdWatchNotifyMode, bool bSimulate=false)
int m_iWNM_CLIENT_CLOSE_BASE
Definition GloWatchNotifyManager.h:2541
int m_iWNM_CLIENT_CONNECT_SERVER
Definition GloWatchNotifyManager.h:2508
virtual bool hasWatches() const
CommunicatorClientNotifyModes(const CommunicatorCallBackIndex &rCommunicatorCallBackIndex)
int m_iWNM_CLIENT_DISCONNECT_SERVER
Definition GloWatchNotifyManager.h:2519
CommunicatorClientNotifyModes()
virtual ~CommunicatorClientNotifyModes()
int m_iWNM_CLIENT_OPEN_BASE
Definition GloWatchNotifyManager.h:2530
void setWatch(TdWatchNotifyMode tdWatchNotifyMode)
Monitoring or notification mode for read index, write index and reindex actions of the database
Definition GloWatchNotifyManager.h:2672
int m_iWNM_INDEX_REINDEX
Definition GloWatchNotifyManager.h:2707
void setWatch(TdWatchNotifyMode tdWatchNotifyMode)
CommunicatorIndexReadWriteNotifyModes()
virtual bool hasWatches() const
CommunicatorIndexReadWriteNotifyModes(const CommunicatorCallBackIndex &rCommunicatorCallBackIndex)
int unsetWatch(TdWatchNotifyMode tdWatchNotifyMode, bool bSimulate=false)
virtual ~CommunicatorIndexReadWriteNotifyModes()
int m_iWNM_INDEX_WRITE
Definition GloWatchNotifyManager.h:2696
int m_iWNM_INDEX_READ
Definition GloWatchNotifyManager.h:2685
Basic class of the individual monitoring or notification modes.
Definition GloWatchNotifyManager.h:1736
NUM_PTR getCallBackIndex()
CommunicatorCallBackIndex m_CommunicatorCallBackIndex
Definition GloWatchNotifyManager.h:1749
WatchNotifyManager::CommunicatorCallBackIndex & getCommunicatorCallBackIndex()
Communicator * getCommunicator()
virtual bool hasWatches() const =0
CommunicatorNotifyModes()
virtual ~CommunicatorNotifyModes()
CommunicatorNotifyModes(const CommunicatorCallBackIndex &rCommunicatorCallBackIndex)
Monitoring or notification mode of objects with their dependent objects. Dependent objects are the em...
Definition GloWatchNotifyManager.h:2073
void setWatch(std::stack< ObjID > *pDependObjIdStack, TdWatchNotifyMode tdWatchNotifyMode, EnDeepMode eDeepMode, const ObjID &rObjID)
std::list< DependentObjsWithDeepMode * > m_WNM_LOCK
Definition GloWatchNotifyManager.h:2122
virtual bool hasWatches() const
virtual ~CommunicatorObjNotifyModes()
CommunicatorObjNotifyModes()
std::list< DependentObjsWithDeepMode * > m_WNM_UNLOCK
Definition GloWatchNotifyManager.h:2138
bool m_bCopyDependObjIdStack
Definition GloWatchNotifyManager.h:2149
int setUnsetWatch(TdWatchNotifyMode tdWatchNotifyMode, EnDeepMode eDeepMode, 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)
std::list< DependentObjsWithDeepMode * > m_WNM_WRITE
Definition GloWatchNotifyManager.h:2090
std::list< DependentObjsWithDeepMode * > m_WNM_DELETE
Definition GloWatchNotifyManager.h:2106
CommunicatorObjNotifyModes(const CommunicatorCallBackIndex &rCommunicatorCallBackIndex)
int unsetWatch(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)
void clearList(std::list< DependentObjsWithDeepMode * > *pList)
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)
Monitoring class for read-index, write-index and reindex actions of the database.
Definition GloWatchNotifyManager.h:3630
void setWatch(const CommunicatorCallBackIndex &rCommunicatorCallBackIndex, TdWatchNotifyMode tdWatchNotifyMode)
int unsetWatch(const CommunicatorCallBackIndex &rCommunicatorCallBackIndex, TdWatchNotifyMode tdWatchNotifyMode, bool bSimulate=false)
std::size_t getCommunicatorIndexReadWriteNotifyModesMapCount() const
void deleteAllWatches(Communicator *pCommunicator)
void clearCommunicatorIndexReadWriteNotifyModesMap()
std::unordered_map< CommunicatorCallBackIndex, CommunicatorIndexReadWriteNotifyModes *, glo::WatchNotifyManager::CommunicatorCallBackIndex::HashFunction > m_CommunicatorIndexReadWriteNotifyModesMap
Definition GloWatchNotifyManager.h:3648
Is used for notifying information about clients in a job to the WatchNotifyManager.
Definition GloWatchNotifyManager.h:602
std::string m_strIPAdress
Definition GloWatchNotifyManager.h:648
WatchNotifyManager::NotifyClientInfo & operator=(const NotifyClientInfo &rT)
virtual ~NotifyClientInfo()
unsigned int m_uiClientID
Definition GloWatchNotifyManager.h:626
SOCKET m_nSocket
Definition GloWatchNotifyManager.h:615
NotifyClientInfo(TdWatchNotifyMode ulNotifyMode, SOCKET nSocket, unsigned int uiClientID, const std::string &rstrClientName, const std::string &rstrIPAdress, const std::string &rstrBaseName)
std::string m_strClientName
Definition GloWatchNotifyManager.h:637
NotifyClientInfo(const NotifyClientInfo &rT)
std::string m_strBaseName
Definition GloWatchNotifyManager.h:659
NotifyClientInfo(TdWatchNotifyMode ulNotifyMode)
Is used for Notify-Infos to monitor the reading, writing and reindexing of the indexes in an order to...
Definition GloWatchNotifyManager.h:782
int m_iFraction
Definition GloWatchNotifyManager.h:819
std::string m_sSchemaName
Definition GloWatchNotifyManager.h:795
WatchNotifyManager::NotifyIndexReadWriteInfo & operator=(const NotifyIndexReadWriteInfo &rT)
int m_iActions
Definition GloWatchNotifyManager.h:830
NotifyIndexReadWriteInfo(TdWatchNotifyMode ulNotifyMode)
NotifyIndexReadWriteInfo(TdWatchNotifyMode ulNotifyMode, const std::string &rsSchemaName, const ObjID &rObjID, int iFraction, int iActions)
ObjID m_ObjID
Definition GloWatchNotifyManager.h:808
NotifyIndexReadWriteInfo()
virtual ~NotifyIndexReadWriteInfo()
NotifyIndexReadWriteInfo(const NotifyIndexReadWriteInfo &rT)
Base class for different Notify-Infos, which are used in a order to the WatchNotifyManager.
Definition GloWatchNotifyManager.h:372
NotifyInfo(TdWatchNotifyMode ulNotifyMode)
WatchNotifyManager::NotifyInfo & operator=(const NotifyInfo &rT)
NotifyInfo(const NotifyInfo &rT)
TdWatchNotifyMode m_ulNotifyMode
Definition GloWatchNotifyManager.h:385
Is used for notifying information about objects in an order to the WatchNotifyManager.
Definition GloWatchNotifyManager.h:478
NotifyObjInfo(const NotifyObjInfo &rT)
ObjID m_ObjID
Definition GloWatchNotifyManager.h:494
NotifyObjInfo(TdWatchNotifyMode ulNotifyMode)
NotifyObjInfo(TdWatchNotifyMode ulNotifyMode, const ObjID &rObjID)
WatchNotifyManager::NotifyObjInfo & operator=(const NotifyObjInfo &rT)
Monitoring class for objects.
Definition GloWatchNotifyManager.h:2834
ObjectWatch(const ObjID &rObjID)
ObjID m_ObjID
Definition GloWatchNotifyManager.h:2847
void setWatch(const CommunicatorCallBackIndex &rCommunicatorCallBackIndex, std::stack< ObjID > *pDependObjIdStack, TdWatchNotifyMode tdWatchNotifyMode, EnDeepMode eDeepMode)
void clearCommunicatorObjNotifyModesMap()
int unsetWatch(const CommunicatorCallBackIndex &rCommunicatorCallBackIndex, 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)
void deleteAllWatches(Communicator *pCommunicator)
std::unordered_map< CommunicatorCallBackIndex, CommunicatorObjNotifyModes *, glo::WatchNotifyManager::CommunicatorCallBackIndex::HashFunction > m_CommunicatorObjNotifyModesMap
Definition GloWatchNotifyManager.h:2861
Classes to monitor persistent objects and to notify the respective clients of changes.
Definition GloWatchNotifyManager.h:352
IndexReadWriteWatch m_IndexReadWriteWatch
Definition GloWatchNotifyManager.h:4032
int m_iWNM_INSERT
To increase performance, the individual monitorings are counted.
Definition GloWatchNotifyManager.h:4063
int setInternWatch(Communicator *pCommunicator, NUM_PTR ipCallBack, unsigned long ulClassID, TdWatchNotifyMode tdWatchNotifyMode)
void deleteCommunicatorWatches(Communicator *pCommunicator)
static std::list< WatchNotifyManager::CommunicatorCallBackIndex * > m_WNM_DELETE_List
Definition GloWatchNotifyManager.h:3824
bool hasObjectWatching(TdWatchNotifyMode tdWatchNotifyMode) const
WatchNotifyManager(const WatchNotifyManager &)
int m_iWNM_DELETE
To increase performance, the individual monitorings are counted.
Definition GloWatchNotifyManager.h:4060
int setInternWatch(Communicator *pCommunicator, NUM_PTR ipCallBack, const ObjID &rObjID, std::map< ObjID, Record *, std::less< ObjID > > &rDependObjectsMap, TdWatchNotifyMode tdWatchNotifyMode, EnDeepMode eDeepMode)
static std::list< WatchNotifyManager::CommunicatorCallBackIndex * > m_WNM_INDEX_WRITE_List
Definition GloWatchNotifyManager.h:3950
int m_iWNM_WRITE
To increase performance, the individual monitorings are counted.
Definition GloWatchNotifyManager.h:4059
static void insertAction(CommunicatorCallBackIndex *pCommunicatorCallBackIndex, std::list< CommunicatorCallBackIndex * > &rActionList)
int processWatch(const std::string &rsSchemaName, Communicator *pCommunicator, OrderMsg::EnOrderType eOrderType, void *pOrderObject, void *pAdditionalInfo)
void processWatch(OrderMsg *pOrderMsg)
std::queue< OrderMsg * > m_MsgQueue
Definition GloWatchNotifyManager.h:4043
static std::list< WatchNotifyManager::CommunicatorCallBackIndex * > m_WNM_LOCK_List
Definition GloWatchNotifyManager.h:3838
virtual ~WatchNotifyManager()
void deleteCommunicatorWatches(OrderMsg *pOrderMsg)
int unsetInternWatch(Communicator *pCommunicator, NUM_PTR ipCallBack, const ObjID &rObjID, TdWatchNotifyMode tdWatchNotifyMode, EnDeepMode eDeepMode, bool bSimulate=false)
eut::CriticalSection m_ExclusiveProcessingSection
Definition GloWatchNotifyManager.h:3986
static std::list< WatchNotifyManager::CommunicatorCallBackIndex * > m_WNM_WRITE_List
Definition GloWatchNotifyManager.h:3810
static std::list< WatchNotifyManager::CommunicatorCallBackIndex * > m_WNM_CLIENT_CLOSEBASE_List
Definition GloWatchNotifyManager.h:3922
static std::list< WatchNotifyManager::CommunicatorCallBackIndex * > m_WNM_INDEX_REINDEX_List
Definition GloWatchNotifyManager.h:3964
int unsetInternWatch(Communicator *pCommunicator, NUM_PTR ipCallBack, TdWatchNotifyMode tdWatchNotifyMode, bool bSimulate=false)
int processObjectSetWatch(Communicator *pCommunicator, const WatchSpecification &rWatchSpecification, std::list< Manager::ObjIdWithDepends * > &rInputList)
int setInternWatch(Communicator *pCommunicator, NUM_PTR ipCallBack, TdWatchNotifyMode tdWatchNotifyMode)
static std::list< WatchNotifyManager::CommunicatorCallBackIndex * > m_WNM_INDEX_READ_List
Definition GloWatchNotifyManager.h:3936
void processNotify(OrderMsg *pOrderMsg, std::list< CommunicatorCallBackIndex * > &rActionList) const
static std::list< WatchNotifyManager::CommunicatorCallBackIndex * > m_WNM_CLIENT_DISCONNECTSERVER_List
Definition GloWatchNotifyManager.h:3894
ClientWatch m_ClientWatch
Definition GloWatchNotifyManager.h:4020
void takeOrder(OrderMsg *pOrderMsg)
void removeClassWatch(unsigned long ulClassID)
WatchNotifyManager & operator=(const WatchNotifyManager &)
WatchNotifyManager(Manager *pMyDBManager)
static void removeAction(CommunicatorCallBackIndex *pCommunicatorCallBackIndex, std::list< CommunicatorCallBackIndex * > &rActionList)
static std::list< WatchNotifyManager::CommunicatorCallBackIndex * > m_WNM_CLIENT_CONNECTSERVER_List
Definition GloWatchNotifyManager.h:3880
int unsetInternWatch(Communicator *pCommunicator, NUM_PTR ipCallBack, unsigned long ulClassID, TdWatchNotifyMode tdWatchNotifyMode, bool bSimulate=false)
int m_iWNM_LOCK
To increase performance, the individual monitorings are counted.
Definition GloWatchNotifyManager.h:4061
static std::list< WatchNotifyManager::CommunicatorCallBackIndex * > m_WNM_CLIENT_OPENBASE_List
Definition GloWatchNotifyManager.h:3908
Manager * m_pMyDBManager
Definition GloWatchNotifyManager.h:3998
static std::list< WatchNotifyManager::CommunicatorCallBackIndex * > m_WNM_UNLOCK_List
Definition GloWatchNotifyManager.h:3852
virtual void cancel() override
int processObjectUnsetWatch(Communicator *pCommunicator, const WatchSpecification &rWatchSpecification, std::list< ObjID > &rInputList)
void processNotify(OrderMsg *pOrderMsg) const
int m_iWNM_UNLOCK
To increase performance, the individual monitorings are counted.
Definition GloWatchNotifyManager.h:4062
void deleteAllAction(Communicator *pCommunicator, std::list< CommunicatorCallBackIndex * > &rActionList)
bool getClassWatch(ClassWatch *&prClassWatch, unsigned long ulClassID, bool bAlsoGenerate)
int unsetWatchDependObjects(Communicator *pCommunicator, NUM_PTR ipCallBack, std::stack< ObjID > &rDependObjIdStack, TdWatchNotifyMode tdWatchNotifyMode, bool bSimulate)
virtual void work() override
std::unordered_map< unsigned long, ClassWatch * > m_ClassWatchMap
Definition GloWatchNotifyManager.h:4009
static std::list< WatchNotifyManager::CommunicatorCallBackIndex * > m_WNM_INSERT_List
Definition GloWatchNotifyManager.h:3866
To be able to watch objects, the 'watching mode', the 'watching depth' and the 'notification object' ...
Definition GloWatchSpecification.h:67
Definition GloAbstractBaseLot.h:49
EnDeepMode
Definition GloTypes.h:254
unsigned long TdWatchNotifyMode
Definition GloTypes.h:558
Definition GloWatchNotifyManager.h:1127
size_t operator()(const CommunicatorCallBackIndex &rCommunicatorCallBackIndex) const