BankAndCustomer
Alle Klassen Namensbereiche Dateien Funktionen Variablen Freundbeziehungen Makrodefinitionen Seiten
GloPersistent.h
gehe zur Dokumentation dieser Datei
1#ifndef INC_GLOPERSISTENT_H
2#define INC_GLOPERSISTENT_H
3//-----------------------------------------------------------------------------
43//-----------------------------------------------------------------------------
44#include "GloTypes.h"
45#include "GloBasePersistent.h"
46#include "GloPersObjectSpy.h"
47#include "GloAttributeID.h"
48#include "GloRecord.h"
49#include "GloTOndemand.h"
50#include "GloTPointerSet.h"
51#include "GloTOndemandSet.h"
52#include "GloTPointerList.h"
53#include "GloTOndemandList.h"
54#include "EuException.h"
55#include <string>
56#include <ctime>
57#include <list>
58//-----------------------------------------------------------------------------
59// Glo Macros
60//-----------------------------------------------------------------------------
82#define GLO_OBJECT(...) \
83 public: \
84 static unsigned long getStaticGloClassID(); \
85 static bool isStaticSubClassID( unsigned long ulSubClassID ); \
86 static bool isStaticSuperClassID( unsigned long ulSuperClassID ); \
87 virtual unsigned long getGloClassID() const override; \
88 virtual int getTypeAsString( std::string & rsTypeName ) override; \
89 virtual int setGloAttribute( const glo::AttributeID & rAttributeID, void * pPara ) override; \
90 virtual void * getGloAttribute( const glo::AttributeID & rAttributeID ) override; \
91 virtual int setGloAttribute( const std::string & rstrAttributeName, void * pPara ) override; \
92 virtual void * getGloAttribute( const std::string & rstrAttributeName ) override; \
93 virtual bool isSameOrSuperClassFrom( const glo::Persistent * pPersistent ) const override; \
94 virtual bool isSameOrSuperClassFrom( const std::shared_ptr<glo::Persistent> spPersistent ) const override; \
95 virtual void _postAssign( glo::Base & rBase ) override; \
96 private:
97//-----------------------------------------------------------------------------
137#define GLO_INDEX(...)
138//-----------------------------------------------------------------------------
140#define GLO_ANNOTATE_ACCESS_SPECIFIER(x)
141//-----------------------------------------------------------------------------
147#define GLO_PERSISTENT_AREA GLO_ANNOTATE_ACCESS_SPECIFIER(x)
148//-----------------------------------------------------------------------------
169#define persistent GLO_PERSISTENT_AREA
170//-----------------------------------------------------------------------------
184#define transient GLO_PERSISTENT_AREA
185//-----------------------------------------------------------------------------
186
187//-----------------------------------------------------------------------------
188namespace glo
189{
244 class __glo_export_dll Persistent : public BasePersistent
245 {
246 //============== Attributes
247 //-----------------------------------------------------------------------
260 //-----------------------------------------------------------------------
271 std::time_t m_dtCreateDate;
272 //-----------------------------------------------------------------------
284 std::time_t m_dtLastChange;
285 //-----------------------------------------------------------------------
286
287 public:
288 //============== ctor
289 //-----------------------------------------------------------------------
300 //-----------------------------------------------------------------------
301
302 protected:
303 //============== detor
304 //-----------------------------------------------------------------------
320 virtual ~Persistent();
321 //-----------------------------------------------------------------------
322
323 public:
324 //============== copy ctor
325 //-----------------------------------------------------------------------
337 Persistent( const Persistent & rT );
338 //-----------------------------------------------------------------------
339
340 public:
341 //============== Methoden
342 //-----------------------------------------------------------------------
360 virtual void activate();
361 //-----------------------------------------------------------------------
389 virtual int assign( Base & rBase ) override;
390 //-----------------------------------------------------------------------
402 virtual void removeBase() override;
403 //-----------------------------------------------------------------------
413 virtual ObjID getObjID() const override;
414 //-----------------------------------------------------------------------
426 virtual std::time_t getCreateDate() const override;
427 //-----------------------------------------------------------------------
439 virtual std::time_t getLastChangeDate() const override;
440 //-----------------------------------------------------------------------
458 virtual void takeOverRecord( Record * pRecord ) override;
459 //-----------------------------------------------------------------------
495 virtual int preStore( EnDeepMode eDeepMode, void *& prData );
496 //-----------------------------------------------------------------------
531 virtual int store( EnDeepMode eDeepMode = DM_SHALLOW ) override;
532 //-----------------------------------------------------------------------
557 virtual void postStore( int iStoreErr, EnDeepMode eDeepMode, void * pData );
558 //-----------------------------------------------------------------------
597 virtual int preDeleteInBase( EnDeepMode eDeepMode, void *& prData );
598 //-----------------------------------------------------------------------
628 virtual int deleteInBase( EnDeepMode eDeepMode = DM_SHALLOW ) override;
629 //-----------------------------------------------------------------------
656 virtual void postDeleteInBase( int iDeleteErr, EnDeepMode eDeepMode, void * pData );
657 //-----------------------------------------------------------------------
693 virtual int preRefresh( void *& prData );
694 //-----------------------------------------------------------------------
725 virtual int refresh() override;
726 //-----------------------------------------------------------------------
751 virtual void postRefresh( int iRefreshErr, void * pData );
752 //-----------------------------------------------------------------------
794 virtual int preLock( EnLockMode eLockMode, EnDeepMode eDeepMode, void *& prData );
795 //-----------------------------------------------------------------------
833 virtual int lock( EnLockMode eLockMode = LK_DELETEvWRITE,
834 EnDeepMode eDeepMode = DM_SHALLOW ) override;
835 //-----------------------------------------------------------------------
871 virtual int lock( const LockSpecification & rLockSpecification ) override;
872 //-----------------------------------------------------------------------
918 virtual int lockAndRefresh( EnLockMode eLockMode = LK_DELETEvWRITE,
919 EnDeepMode eDeepMode = DM_SHALLOW ) override;
920 //-----------------------------------------------------------------------
964 virtual int lockAndRefresh( const LockSpecification & rLockSpecification ) override;
965 //-----------------------------------------------------------------------
994 virtual void postLock( int iLockErr, EnLockMode eLockMode, EnDeepMode eDeepMode, void * pData );
995 //-----------------------------------------------------------------------
1037 virtual int preRelock( EnLockMode eLockMode, EnDeepMode eDeepMode, void *& prData );
1038 //-----------------------------------------------------------------------
1086 virtual int relock( EnLockMode eLockMode = LK_DELETEvWRITE,
1087 EnDeepMode eDeepMode = DM_SHALLOW ) override;
1088 //-----------------------------------------------------------------------
1134 virtual int relock( const LockSpecification & rLockSpecification ) override;
1135 //-----------------------------------------------------------------------
1186 virtual int relockAndRefresh( EnLockMode eLockMode = LK_DELETEvWRITE,
1187 EnDeepMode eDeepMode = DM_SHALLOW ) override;
1188 //-----------------------------------------------------------------------
1237 virtual int relockAndRefresh( const LockSpecification & rLockSpecification ) override;
1238 //-----------------------------------------------------------------------
1267 virtual void postRelock( int iLockErr, EnLockMode eLockMode, EnDeepMode eDeepMode, void * pData );
1268 //-----------------------------------------------------------------------
1310 virtual int preUnlock( EnLockMode eLockMode, EnDeepMode eDeepMode, void *& prData );
1311 //-----------------------------------------------------------------------
1351 virtual int unlock( EnLockMode eLockMode = LK_DELETEvWRITE,
1352 EnDeepMode eDeepMode = DM_SHALLOW ) override;
1353 //-----------------------------------------------------------------------
1391 virtual int unlock( const LockSpecification & rLockSpecification ) override;
1392 //-----------------------------------------------------------------------
1422 virtual void postUnlock( int iUnlockErr, EnLockMode eLockMode, EnDeepMode eDeepMode, void * pData );
1423 //-----------------------------------------------------------------------
1474 virtual int preSetWatch( TdWatchNotifyMode ulWatchMode,
1475 EnDeepMode eDeepMode,
1476 CallBack * pCallBack,
1477 void *& prData );
1478 //-----------------------------------------------------------------------
1550 virtual int setWatch( TdWatchNotifyMode ulWatchMode,
1551 EnDeepMode eDeepMode,
1552 CallBack * pCallBack = 0 ) override;
1553 //-----------------------------------------------------------------------
1593 virtual void postSetWatch( int iSetWatchErr,
1594 TdWatchNotifyMode ulWatchMode,
1595 EnDeepMode eDeepMode,
1596 CallBack * pCallBack,
1597 void * pData );
1598 //-----------------------------------------------------------------------
1649 virtual int preUnsetWatch( TdWatchNotifyMode ulWatchMode,
1650 EnDeepMode eDeepMode,
1651 CallBack * pCallBack,
1652 void *& prData );
1653 //-----------------------------------------------------------------------
1724 virtual int unsetWatch( TdWatchNotifyMode ulWatchMode,
1725 EnDeepMode eDeepMode,
1726 CallBack * pCallBack = 0 ) override;
1727 //-----------------------------------------------------------------------
1766 virtual void postUnsetWatch( int iUnsetWatchErr,
1767 TdWatchNotifyMode ulWatchMode,
1768 EnDeepMode eDeepMode,
1769 CallBack * pCallBack,
1770 void * pData );
1771 //-----------------------------------------------------------------------
1772
1773 protected:
1774 //============== Methoden
1775 //-----------------------------------------------------------------------
1785 virtual void insertInObjectSpy() const override;
1786 //-----------------------------------------------------------------------
1796 virtual void removeInObjectSpy() const override;
1797 //-----------------------------------------------------------------------
1807 virtual void setCreateDate() override;
1808 //-----------------------------------------------------------------------
1809
1810 public:
1811 //============== static methods
1812 //-----------------------------------------------------------------------
1828 static unsigned long getStaticGloClassID();
1829 //-----------------------------------------------------------------------
1846 static bool isStaticSubClassID( unsigned long ulSubClassID );
1847 //-----------------------------------------------------------------------
1864 static bool isStaticSuperClassID( unsigned long ulSuperClassID );
1865 //-----------------------------------------------------------------------
1866
1867 public:
1868 //============== methods
1869 //-----------------------------------------------------------------------
1890 virtual unsigned long getGloClassID() const override;
1891 //-----------------------------------------------------------------------
1905 virtual int getTypeAsString( std::string & rsTypeName ) override;
1906 //-----------------------------------------------------------------------
1932 virtual int setGloAttribute( const AttributeID & rAttributeID, void * pPara );
1933 //-----------------------------------------------------------------------
1956 virtual void * getGloAttribute( const AttributeID & rAttributeID );
1957 //-----------------------------------------------------------------------
1983 virtual int setGloAttribute (const std::string & rstrAttributName, void * pPara);
1984 //-----------------------------------------------------------------------
2006 virtual void * getGloAttribute (const std::string & rstrAttributName);
2007 //-----------------------------------------------------------------------
2009
2024 virtual bool isSameOrSuperClassFrom( const glo::Persistent * pPersistent ) const;
2025 virtual bool isSameOrSuperClassFrom( const std::shared_ptr<glo::Persistent> pPersistent ) const;
2027 //-----------------------------------------------------------------------
2028
2029 protected:
2030 //============== Methoden
2031 //-----------------------------------------------------------------------
2052 virtual void _postAssign( Base & rBase );
2053 //-----------------------------------------------------------------------
2054
2055 //============== Operatoren
2056 //-----------------------------------------------------------------------
2068 Persistent & operator= ( const Persistent & rT );
2069 //-----------------------------------------------------------------------
2071
2082 bool operator== ( const Persistent & rT ) const;
2083 bool operator!= ( const Persistent & rT ) const;
2085 //-----------------------------------------------------------------------
2086 };
2087 //---------------------------------------------------------------------------
2088} // namespace glo
2089#endif
Header für BasePersistent
Header und Source für TOndemand
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
Die Basisklasse der persistenten Klassen. Von dieser Klasse müssen alle persistenten Klassen abgeleit...
Definition GloPersistent.h:245
virtual int setGloAttribute(const AttributeID &rAttributeID, void *pPara)
virtual int setWatch(TdWatchNotifyMode ulWatchMode, EnDeepMode eDeepMode, CallBack *pCallBack=0) override
virtual int preDeleteInBase(EnDeepMode eDeepMode, void *&prData)
virtual void removeInObjectSpy() const override
virtual int lock(EnLockMode eLockMode=LK_DELETEvWRITE, EnDeepMode eDeepMode=DM_SHALLOW) override
virtual unsigned long getGloClassID() const override
virtual int refresh() override
virtual int store(EnDeepMode eDeepMode=DM_SHALLOW) override
virtual void * getGloAttribute(const AttributeID &rAttributeID)
std::time_t m_dtCreateDate
Definition GloPersistent.h:271
virtual int unlock(EnLockMode eLockMode=LK_DELETEvWRITE, EnDeepMode eDeepMode=DM_SHALLOW) override
virtual int unsetWatch(TdWatchNotifyMode ulWatchMode, EnDeepMode eDeepMode, CallBack *pCallBack=0) override
virtual int lockAndRefresh(const LockSpecification &rLockSpecification) override
static bool isStaticSuperClassID(unsigned long ulSuperClassID)
static bool isStaticSubClassID(unsigned long ulSubClassID)
virtual int relock(EnLockMode eLockMode=LK_DELETEvWRITE, EnDeepMode eDeepMode=DM_SHALLOW) override
virtual void _postAssign(Base &rBase)
Persistent(const Persistent &rT)
ObjID m_ObjID
Definition GloPersistent.h:259
virtual void postSetWatch(int iSetWatchErr, TdWatchNotifyMode ulWatchMode, EnDeepMode eDeepMode, CallBack *pCallBack, void *pData)
virtual void takeOverRecord(Record *pRecord) override
virtual int assign(Base &rBase) override
virtual std::time_t getCreateDate() const override
virtual void * getGloAttribute(const std::string &rstrAttributName)
virtual ObjID getObjID() const override
std::time_t m_dtLastChange
Definition GloPersistent.h:284
virtual void setCreateDate() override
static unsigned long getStaticGloClassID()
virtual int preLock(EnLockMode eLockMode, EnDeepMode eDeepMode, void *&prData)
virtual void postUnlock(int iUnlockErr, EnLockMode eLockMode, EnDeepMode eDeepMode, void *pData)
virtual void postDeleteInBase(int iDeleteErr, EnDeepMode eDeepMode, void *pData)
virtual void postLock(int iLockErr, EnLockMode eLockMode, EnDeepMode eDeepMode, void *pData)
virtual int deleteInBase(EnDeepMode eDeepMode=DM_SHALLOW) override
virtual bool isSameOrSuperClassFrom(const std::shared_ptr< glo::Persistent > pPersistent) const
Prüft ob übergebenes Objekt auf dieses gecastet werden kann.
virtual void insertInObjectSpy() const override
virtual void activate()
virtual int getTypeAsString(std::string &rsTypeName) override
virtual int preRelock(EnLockMode eLockMode, EnDeepMode eDeepMode, void *&prData)
virtual int preStore(EnDeepMode eDeepMode, void *&prData)
virtual bool isSameOrSuperClassFrom(const glo::Persistent *pPersistent) const
Prüft ob übergebenes Objekt auf dieses gecastet werden kann.
virtual void removeBase() override
virtual void postRelock(int iLockErr, EnLockMode eLockMode, EnDeepMode eDeepMode, void *pData)
virtual void postStore(int iStoreErr, EnDeepMode eDeepMode, void *pData)
virtual int preRefresh(void *&prData)
virtual int relock(const LockSpecification &rLockSpecification) override
virtual void postRefresh(int iRefreshErr, void *pData)
virtual int preUnsetWatch(TdWatchNotifyMode ulWatchMode, EnDeepMode eDeepMode, CallBack *pCallBack, void *&prData)
virtual int relockAndRefresh(EnLockMode eLockMode=LK_DELETEvWRITE, EnDeepMode eDeepMode=DM_SHALLOW) override
virtual int setGloAttribute(const std::string &rstrAttributName, void *pPara)
virtual int preUnlock(EnLockMode eLockMode, EnDeepMode eDeepMode, void *&prData)
virtual int lockAndRefresh(EnLockMode eLockMode=LK_DELETEvWRITE, EnDeepMode eDeepMode=DM_SHALLOW) override
virtual ~Persistent()
virtual std::time_t getLastChangeDate() const override
virtual int unlock(const LockSpecification &rLockSpecification) override
virtual int lock(const LockSpecification &rLockSpecification) override
virtual void postUnsetWatch(int iUnsetWatchErr, TdWatchNotifyMode ulWatchMode, EnDeepMode eDeepMode, CallBack *pCallBack, void *pData)
virtual int preSetWatch(TdWatchNotifyMode ulWatchMode, EnDeepMode eDeepMode, CallBack *pCallBack, void *&prData)
virtual int relockAndRefresh(const LockSpecification &rLockSpecification) override
Definition GloBasePersistent.h:60