1#ifndef INC_GLOLOCKMANAGER_H
2#define INC_GLOLOCKMANAGER_H
908 std::stack< ObjID > * pDependObjIdStack,
911 bool bSimulate =
false );
944 std::stack< ObjID > *& prDependObjIdStack,
947 bool bSimulate =
false );
1000 bool bDelete)
const;
1070 std::stack< ObjID > *& prUnlockDependObjIdStack,
1071 std::stack< ObjID > * pLockDependObjIdStack,
1072 bool bSimulate =
false);
1103 int setLockCount( std::list< DependentObjsWithDeepMode * > & rLockCountList,
1104 std::stack< ObjID > *& prUnlockDependObjIdStack,
1105 std::stack< ObjID > * pLockDependObjIdStack,
1107 bool bSimulate =
false );
1247 std::map<
ObjID,
Record *, std::less<ObjID> > & rDependObjects,
1249 const std::string & rsSchemaName,
1252 bool bSimulate =
false );
1282 const std::string & rsSchemaName,
1285 bool bSimulate =
false );
1314 std::map<
ObjID,
Record *, std::less<ObjID> > & rDependObjects,
1338 std::map<
ObjID,
Record *, std::less<ObjID> > & rDependObjects,
1374 std::unordered_map< unsigned long, LockedObject * > & getLockedObjects();
1414 const ObjID & rObjID,
1416 const std::string & rsSchemaName );
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:63
Superclass of LocalThread, ClientThread and ServerThread, because they can act as senders and receive...
Definition GloCommunicator.h:86
The individual lock modes of the object with object ID from LockedObject::m_LockObjektID for a commun...
Definition GloLockManager.h:293
std::list< DependentObjsWithDeepMode * > m_READvDELETE_Count
Definition GloLockManager.h:332
bool hasLockTRANSACTION_DELETE()
bool hasReadGuarantee() const
bool hasLockTRANSACTION_WRITE()
std::list< DependentObjsWithDeepMode * > m_TRANSACTION_WRITE_Count
Definition GloLockManager.h:422
~CommunicatorRightsRestrictions()
CommunicatorRightsRestrictions()
Communicator * m_pCommunicator
Definition GloLockManager.h:317
bool hasReadProtection() const
bool hasLockREADvDELETE()
std::list< DependentObjsWithDeepMode * > m_TRANSACTION_DELETE_Count
Definition GloLockManager.h:437
std::list< DependentObjsWithDeepMode * > m_EXCLUSIVE_Count
Definition GloLockManager.h:407
std::list< DependentObjsWithDeepMode * > m_READvWRITE_Count
Definition GloLockManager.h:347
void deleteObjectsInList(std::list< DependentObjsWithDeepMode * > *pList)
bool hasLockDELETEvWRITE()
bool hasDeleteProtection() const
CommunicatorRightsRestrictions(Communicator *pCommunicator)
bool hasLockDELETEvREAD()
bool hasDeleteGuarantee() const
std::list< DependentObjsWithDeepMode * > m_DELETEvWRITE_Count
Definition GloLockManager.h:377
std::list< DependentObjsWithDeepMode * > m_WRITEvWRITE_Count
Definition GloLockManager.h:362
std::list< DependentObjsWithDeepMode * > m_DELETEvREAD_Count
Definition GloLockManager.h:392
bool hasWriteProtection() const
bool hasWriteGuarantee() const
bool hasLockWRITEvWRITE()
Objects can be locked. Objects of this class represent an object locked by the communicator,...
Definition GloLockManager.h:253
int lockObject(Communicator *pCommunicator, std::stack< ObjID > *pDependObjIdStack, EnLockMode eLockMode, EnDeepMode eDeepMode, bool bSimulate=false)
LockedObject(const ObjID &rLockObjekt)
ObjID m_LockObjektID
Definition GloLockManager.h:787
int setLocks(CommunicatorRightsRestrictions *pItem, EnLockMode eLockMode, EnDeepMode eDeepMode, std::stack< ObjID > *&prUnlockDependObjIdStack, std::stack< ObjID > *pLockDependObjIdStack, bool bSimulate=false)
int unlockObject(Communicator *pCommunicator, std::stack< ObjID > *&prDependObjIdStack, EnLockMode eLockMode, EnDeepMode eDeepMode, bool bSimulate=false)
std::map< NUM_PTR, CommunicatorRightsRestrictions *, std::less< NUM_PTR > > m_CommunicatorMap
Definition GloLockManager.h:804
std::size_t getNumCommunicators()
bool isPossible(Communicator *pCommunicator, bool bRead, bool bWrite, bool bDelete) const
bool hasAnyOtherCompetingProtection(Communicator *pCommunicator, EnLockMode eLockMode) const
void deleteCommunicator(Communicator *pCommunicator)
LockedObject(const LockedObject &)
int setLockCount(std::list< DependentObjsWithDeepMode * > &rLockCountList, std::stack< ObjID > *&prUnlockDependObjIdStack, std::stack< ObjID > *pLockDependObjIdStack, EnDeepMode eDeepMode, bool bSimulate=false)
Objects of this class monitor the lock state of persistent objects.
Definition GloLockManager.h:228
Manager * m_pDBManager
Definition GloLockManager.h:1152
LockManager(Manager *pDBManager)
LockManager(const LockManager &)
void sendNotify(TdWatchNotifyMode nWatchNotifyMode, const ObjID &rObjID, Communicator *pCommunicator, const std::string &rsSchemaName)
int lockObject(const ObjID &rObjID, std::map< ObjID, Record *, std::less< ObjID > > &rDependObjects, Communicator *pCommunicator, const std::string &rsSchemaName, EnLockMode eLockMode, EnDeepMode eDeepMode, bool bSimulate=false)
bool isPossible(const ObjID &rObjID, std::map< ObjID, Record *, std::less< ObjID > > &rDependObjects, Communicator *pCommunicator, bool bRead, bool bWrite, bool bDelete)
LockPossibleSpecification getProcessingPossibilities(const ObjID &rObjID, std::map< ObjID, Record *, std::less< ObjID > > &rDependObjects, Communicator *pCommunicator)
int unlockObject(const ObjID &rObjID, Communicator *pCommunicator, const std::string &rsSchemaName, EnLockMode eLockMode, EnDeepMode eDeepMode, bool bSimulate=false)
void getNotAllowedReadObjects(std::list< ObjID > &rReadLockObjList, Communicator *pCommunicator) const
void deleteAllLocks(Communicator *pCommunicator, const std::string &rsSchemaName)
std::unordered_map< unsigned long, LockedObject * > m_LockedObjectMap
Definition GloLockManager.h:1141
The object of this class is the central point of contact for actions that deal with GlobalObjects dat...
Definition GloManager.h:184
An object ID consists of the class ID, a database ID and the actual unique object number (all unsigne...
Definition GloObjID.h:77
Objects of this class transport the data from the tables into the persistent object and from these ag...
Definition GloRecord.h:101
Definition GloAbstractBaseLot.h:42
EnDeepMode
Definition GloTypes.h:247
EnLockMode
Definition GloTypes.h:1070
unsigned long TdWatchNotifyMode
Definition GloTypes.h:543
Permitted actions in the database such as read, write and delete can be queried for an object....
Definition GloTypes.h:1271