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 =
nullptr )
const;
576 const std::vector<unsigned long> * pClassIdVector =
nullptr )
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 =
nullptr )
const;
743 const std::vector<unsigned long> * pClassIdVector =
nullptr )
const;
777 const std::vector<unsigned long> * pClassIdVector =
nullptr )
const;
799 const std::vector<unsigned long> * pClassIdVector =
nullptr )
const;
835 const std::vector<unsigned long> * pClassIdVector =
nullptr )
const;
859 const std::vector<unsigned long> * pClassIdVector =
nullptr )
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 );
1062 EnDeepMode eDeepMode = DM_SHALLOW );
1131 virtual int relock( EnLockMode eLockMode = LK_DELETEvWRITE,
1132 EnDeepMode eDeepMode = DM_SHALLOW );
1169 virtual int relock(
const LockSpecification & rLockSpecification );
1213 EnDeepMode eDeepMode = DM_SHALLOW );
1285 virtual int unlock( EnLockMode eLockMode = LK_DELETEvWRITE,
1286 EnDeepMode eDeepMode = DM_SHALLOW);
1314 virtual int unlock(
const LockSpecification & rLockSpecification );
1345 virtual int isLocked( EnLockMode eLockMode = LK_DELETEvWRITE,
1346 EnDeepMode eDeepMode = DM_SHALLOW )
const;
1368 virtual int isLocked(
const LockSpecification & rLockSpecification )
const;
1396 EnDeepMode eDeepMode = DM_SHALLOW )
const;
1417 virtual int isPossible(
const LockPossibleSpecification & rLockPossibleSpec,
1418 EnDeepMode eDeepMode = DM_SHALLOW )
const;
1438 EnDeepMode eDeepMode = DM_SHALLOW )
const;
1498 EnDeepMode eDeepMode,
1533 virtual int setWatch(
const WatchSpecification & rWatchSpec );
1593 EnDeepMode eDeepMode,
1727 #pragma warning( default : 4251 )
Abstrakte Basisklasse für Persistent und die generische 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 isPossible(bool bRead, bool bWrite, bool bDelete, EnDeepMode eDeepMode=DM_SHALLOW) const
virtual bool isAssigned() const
int getRecord(Record *&prRecord) const
virtual int relockAndRefresh(EnLockMode eLockMode=LK_DELETEvWRITE, EnDeepMode eDeepMode=DM_SHALLOW)
virtual unsigned int forget()
int getAllPersAttributeNames(std::list< std::string > &rRetValList, const std::vector< unsigned long > *pClassIdVector=nullptr) const
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 unsetWatch(TdWatchNotifyMode ulWatchMode, EnDeepMode eDeepMode, CallBack *pCallBack=nullptr)
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 getPersAttribute(std::shared_ptr< BaseRecordAttribute > &rRetVal, const std::string &sName) const
virtual int lockAndRefresh(const LockSpecification &rLockSpecification)
virtual int unlock(EnLockMode eLockMode=LK_DELETEvWRITE, EnDeepMode eDeepMode=DM_SHALLOW)
int getAllPersAttributes(std::list< BaseRecordAttribute * > &rRetValList, const std::vector< unsigned long > *pClassIdVector=nullptr) const
virtual int unlock(const LockSpecification &rLockSpecification)
unsigned int getLinkCount() const
virtual int setBase(Base *pBase) override
Base * m_pBase
Definition GloBasePersistent.h:150
virtual int setWatch(TdWatchNotifyMode ulWatchMode, EnDeepMode eDeepMode, CallBack *pCallBack=nullptr)
virtual void setCreateDate()=0
virtual int relock(EnLockMode eLockMode=LK_DELETEvWRITE, EnDeepMode eDeepMode=DM_SHALLOW)
virtual void takeOverRecord(Record *pRecord)
int getAllPersAttributeNamesSortByID(std::map< AttributeID, std::string > &rRetValMap, const std::vector< unsigned long > *pClassIdVector=nullptr) const
int getRecord(std::shared_ptr< Record > &rRetVal) const
virtual int deleteInBase(EnDeepMode eDeepMode=DM_SHALLOW)
int getAllPersAttributesSortByName(std::map< std::string, std::shared_ptr< BaseRecordAttribute >, std::less< std::string > > &rRetValMap, const std::vector< unsigned long > *pClassIdVector=nullptr) const
virtual void insertInObjectSpy() const =0
virtual int relockAndRefresh(const LockSpecification &rLockSpecification)
virtual unsigned int remember()
virtual ~BasePersistent()
bool m_bSpyaction
Definition GloBasePersistent.h:216
virtual int lock(const LockSpecification &rLockSpecification)
int getAllPersAttributesSortByID(std::map< AttributeID, std::shared_ptr< BaseRecordAttribute >, std::less< AttributeID > > &rRetValMap, const std::vector< unsigned long > *pClassIdVector=nullptr) const
void setSpyaction(bool bSpyaction)
virtual int relock(const LockSpecification &rLockSpecification)
virtual int getClassInfo(ClassInfo *&prClassInfo)
int getAllPersAttributesSortByID(std::map< AttributeID, BaseRecordAttribute *, std::less< AttributeID > > &rRetValMap, const std::vector< unsigned long > *pClassIdVector=nullptr) const
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
virtual int lockAndRefresh(EnLockMode eLockMode=LK_DELETEvWRITE, EnDeepMode eDeepMode=DM_SHALLOW)
int getPersAttribute(BaseRecordAttribute *&prRetVal, const std::string &sName) const
int getAllPersAttributesSortByName(std::map< std::string, BaseRecordAttribute *, std::less< std::string > > &rRetValMap, const std::vector< unsigned long > *pClassIdVector=nullptr) const
unsigned int m_uiReferenceCount
Definition GloBasePersistent.h:161
virtual unsigned long getGloClassID() const =0
virtual int store(EnDeepMode eDeepMode=DM_SHALLOW)
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
int getAllPersAttributes(std::list< std::shared_ptr< BaseRecordAttribute > > &rRetValList, const std::vector< unsigned long > *pClassIdVector=nullptr) const
Oberklasse für die Klassen, welche mit einer Base 'verbunden' sind.
Definition GloCallBack.h:81
Ein Objekt-ID besteht aus der Klassen-ID, einer Datenbank-ID und der eigentlichen eindeutigen ObjektZ...
Definition GloObjID.h:84
Definition GloBasePersistent.h:60