1#ifndef INC_GLOBASEPERSISTENT_H
2#define INC_GLOBASEPERSISTENT_H
49#include "GloLockSpecification.h"
50#include "GloWatchSpecification.h"
51#if defined (__PTHREADS)
52 #include <EuPCriticalSection.h>
54 #include "EuCriticalSection.h"
66 class BaseRecordAttribute;
70 #pragma warning( disable : 4251 )
135 friend class PrivateBase;
176 #if defined (__PTHREADS)
177 EuPCriticalSection m_LocalCriticalSection;
534 int getRecord( std::shared_ptr<Record> & rRetVal )
const;
554 const std::vector<unsigned long> * pClassIdVector = 0 )
const;
576 const std::vector<unsigned long> * pClassIdVector = 0 )
const;
612 const std::string & sName )
const;
635 const std::string & sName )
const;
667 const AttributeID & rAttributeID)
const;
687 const AttributeID & rAttributeID )
const;
721 const std::vector<unsigned long> * pClassIdVector = 0 )
const;
743 const std::vector<unsigned long> * pClassIdVector = 0 )
const;
777 const std::vector<unsigned long> * pClassIdVector = 0 )
const;
799 const std::vector<unsigned long> * pClassIdVector = 0 )
const;
835 const std::vector<unsigned long> * pClassIdVector = 0)
const;
859 const std::vector<unsigned long> * pClassIdVector = 0 )
const;
906 virtual int store( EnDeepMode eDeepMode = DM_SHALLOW );
1001 virtual int lock( EnLockMode eLockMode = LK_DELETEvWRITE,
1002 EnDeepMode eDeepMode = DM_SHALLOW );
1028 virtual int lock(
const LockSpecification & rLockSpecification );
1063 virtual int relock( EnLockMode eLockMode = LK_DELETEvWRITE,
1064 EnDeepMode eDeepMode = DM_SHALLOW );
1101 virtual int relock(
const LockSpecification & rLockSpecification );
1128 virtual int unlock( EnLockMode eLockMode = LK_DELETEvWRITE,
1129 EnDeepMode eDeepMode = DM_SHALLOW);
1157 virtual int unlock(
const LockSpecification & rLockSpecification );
1188 virtual int isLocked( EnLockMode eLockMode = LK_DELETEvWRITE,
1189 EnDeepMode eDeepMode = DM_SHALLOW )
const;
1211 virtual int isLocked(
const LockSpecification & rLockSpecification )
const;
1239 EnDeepMode eDeepMode = DM_SHALLOW )
const;
1260 virtual int isPossible(
const LockPossibleSpecification & rLockPossibleSpec,
1261 EnDeepMode eDeepMode = DM_SHALLOW )
const;
1281 EnDeepMode eDeepMode = DM_SHALLOW )
const;
1341 EnDeepMode eDeepMode,
1376 virtual int setWatch(
const WatchSpecification & rWatchSpec );
1436 EnDeepMode eDeepMode,
1570 #pragma warning( default : 4251 )
Abstract base class for Persistent and the generic GenericPersistent.
Definition GloBasePersistent.h:124
virtual int isPossible(const LockPossibleSpecification &rLockPossibleSpec, EnDeepMode eDeepMode=DM_SHALLOW) const
virtual int getProcessingPossibilities(LockPossibleSpecification &rLockPossibleSpec, EnDeepMode eDeepMode=DM_SHALLOW) const
virtual int lock(EnLockMode eLockMode=LK_DELETEvWRITE, EnDeepMode eDeepMode=DM_SHALLOW)
virtual int unsetWatch(TdWatchNotifyMode ulWatchMode, EnDeepMode eDeepMode, CallBack *pCallBack=0)
virtual int isPossible(bool bRead, bool bWrite, bool bDelete, EnDeepMode eDeepMode=DM_SHALLOW) const
virtual bool isAssigned() const
int getRecord(Record *&prRecord) const
virtual unsigned int forget()
BasePersistent(const BasePersistent &rT)
eut::CriticalSection m_LocalCriticalSection
Definition GloBasePersistent.h:179
virtual int assign(Base &rBase)
virtual int unsetWatch(const WatchSpecification &rWatchSpec)
virtual bool isDeletedInBase()
virtual int getTypeAsString(std::string &rsTypeName) override
virtual int setWatch(TdWatchNotifyMode ulWatchMode, EnDeepMode eDeepMode, CallBack *pCallBack=0)
int getAllPersAttributesSortByName(std::map< std::string, BaseRecordAttribute *, std::less< std::string > > &rRetValMap, const std::vector< unsigned long > *pClassIdVector=0) const
virtual int isLocked(EnLockMode eLockMode=LK_DELETEvWRITE, EnDeepMode eDeepMode=DM_SHALLOW) const
virtual std::time_t getLastChangeDate() const =0
virtual Base * getBase() const override
int getAllPersAttributesSortByName(std::map< std::string, std::shared_ptr< BaseRecordAttribute >, std::less< std::string > > &rRetValMap, const std::vector< unsigned long > *pClassIdVector=0) const
int getPersAttribute(std::shared_ptr< BaseRecordAttribute > &rRetVal, const std::string &sName) const
virtual int unlock(EnLockMode eLockMode=LK_DELETEvWRITE, EnDeepMode eDeepMode=DM_SHALLOW)
virtual int unlock(const LockSpecification &rLockSpecification)
unsigned int getLinkCount() const
virtual int setBase(Base *pBase) override
int getAllPersAttributeNamesSortByID(std::map< AttributeID, std::string > &rRetValMap, const std::vector< unsigned long > *pClassIdVector=0) const
Base * m_pBase
Definition GloBasePersistent.h:150
virtual void setCreateDate()=0
virtual int relock(EnLockMode eLockMode=LK_DELETEvWRITE, EnDeepMode eDeepMode=DM_SHALLOW)
int getAllPersAttributes(std::list< BaseRecordAttribute * > &rRetValList, const std::vector< unsigned long > *pClassIdVector=0) const
virtual void takeOverRecord(Record *pRecord)
int getRecord(std::shared_ptr< Record > &rRetVal) const
virtual int deleteInBase(EnDeepMode eDeepMode=DM_SHALLOW)
virtual void insertInObjectSpy() const =0
int getAllPersAttributesSortByID(std::map< AttributeID, BaseRecordAttribute *, std::less< AttributeID > > &rRetValMap, const std::vector< unsigned long > *pClassIdVector=0) const
virtual unsigned int remember()
virtual ~BasePersistent()
bool m_bSpyaction
Definition GloBasePersistent.h:216
virtual int lock(const LockSpecification &rLockSpecification)
int getAllPersAttributes(std::list< std::shared_ptr< BaseRecordAttribute > > &rRetValList, const std::vector< unsigned long > *pClassIdVector=0) const
void setSpyaction(bool bSpyaction)
virtual int relock(const LockSpecification &rLockSpecification)
virtual int getClassInfo(ClassInfo *&prClassInfo)
virtual std::time_t getCreateDate() const =0
virtual void removeBase()
int getPersAttribute(std::shared_ptr< BaseRecordAttribute > &rRetVal, const AttributeID &rAttributeID) const
virtual int isLocked(const LockSpecification &rLockSpecification) const
virtual void removeInObjectSpy() const =0
int getAllPersAttributeNames(std::list< std::string > &rRetValList, const std::vector< unsigned long > *pClassIdVector=0) const
int getPersAttribute(BaseRecordAttribute *&prRetVal, const std::string &sName) const
unsigned int m_uiReferenceCount
Definition GloBasePersistent.h:161
virtual unsigned long getGloClassID() const =0
virtual int store(EnDeepMode eDeepMode=DM_SHALLOW)
int getAllPersAttributesSortByID(std::map< AttributeID, std::shared_ptr< BaseRecordAttribute >, std::less< AttributeID > > &rRetValMap, const std::vector< unsigned long > *pClassIdVector=0) const
Record * m_pRecord
Definition GloBasePersistent.h:193
int getPersAttribute(BaseRecordAttribute *&prRetVal, const AttributeID &rAttributeID) const
virtual int setWatch(const WatchSpecification &rWatchSpec)
virtual ObjID getObjID() const
Superclass for the classes that are 'connected' to a Base.
Definition GloCallBack.h:81
An object ID consists of the class ID, a database ID and the actual unique object number (all unsigne...
Definition GloObjID.h:84
Definition GloBasePersistent.h:60