BankAndCustomer
Lade ...
Suche ...
Keine Treffer
GloPersistent.h
gehe zur Dokumentation dieser Datei
1#ifndef INC_GLOPERSISTENT_H
2#define INC_GLOPERSISTENT_H
3//-----------------------------------------------------------------------------
36//-----------------------------------------------------------------------------
37#include "GloTypes.h"
38#include "GloBasePersistent.h"
39#include "GloPersObjectSpy.h"
40#include "GloAttributeID.h"
41#include "GloRecord.h"
42#include "GloTOndemand.h"
43#include "GloTPointerSet.h"
44#include "GloTOndemandSet.h"
45#include "GloTPointerList.h"
46#include "GloTOndemandList.h"
47#include "EuException.h"
48#include <string>
49#include <ctime>
50#include <list>
51//-----------------------------------------------------------------------------
52// Glo Macros
53//-----------------------------------------------------------------------------
75#define GLO_OBJECT(...) \
76 public: \
77 virtual unsigned long getGloClassID() const override; \
78 virtual int getTypeAsString( std::string & rsTypeName ) override; \
79 virtual int setGloAttribute( const glo::AttributeID & rAttributeID, void * pPara ) override; \
80 virtual void * getGloAttribute( const glo::AttributeID & rAttributeID ) override; \
81 virtual int setGloAttribute( const std::string & rstrAttributeName, void * pPara ) override; \
82 virtual void * getGloAttribute( const std::string & rstrAttributeName ) override; \
83 virtual bool isSameOrSuperClassFrom( const glo::Persistent * pPersistent ) const override; \
84 virtual bool isSameOrSuperClassFrom( const std::shared_ptr<glo::Persistent> spPersistent ) const override; \
85 virtual void _postAssign( glo::Base & rBase ) override; \
86 private:
87//-----------------------------------------------------------------------------
127#define GLO_INDEX(...)
128//-----------------------------------------------------------------------------
130#define GLO_ANNOTATE_ACCESS_SPECIFIER(x)
131//-----------------------------------------------------------------------------
137#define GLO_PERSISTENT_AREA GLO_ANNOTATE_ACCESS_SPECIFIER(x)
138//-----------------------------------------------------------------------------
159#define persistent GLO_PERSISTENT_AREA
160//-----------------------------------------------------------------------------
174#define transient GLO_PERSISTENT_AREA
175//-----------------------------------------------------------------------------
176
177//-----------------------------------------------------------------------------
178namespace glo
179{
234 class __glo_export_dll Persistent : public BasePersistent
235 {
236 //============== Attributes
237 //-----------------------------------------------------------------------
250 //-----------------------------------------------------------------------
261 std::time_t m_dtCreateDate;
262 //-----------------------------------------------------------------------
274 std::time_t m_dtLastChange;
275 //-----------------------------------------------------------------------
276
277 public:
278 //============== ctor
279 //-----------------------------------------------------------------------
290 //-----------------------------------------------------------------------
291
292 protected:
293 //============== detor
294 //-----------------------------------------------------------------------
310 virtual ~Persistent();
311 //-----------------------------------------------------------------------
312
313 public:
314 //============== copy ctor
315 //-----------------------------------------------------------------------
327 Persistent( const Persistent & rT );
328 //-----------------------------------------------------------------------
329
330 public:
331 //============== Methoden
332 //-----------------------------------------------------------------------
350 virtual void activate();
351 //-----------------------------------------------------------------------
379 virtual int assign( Base & rBase ) override;
380 //-----------------------------------------------------------------------
392 virtual void removeBase() override;
393 //-----------------------------------------------------------------------
403 virtual ObjID getObjID() const override;
404 //-----------------------------------------------------------------------
416 virtual std::time_t getCreateDate() const override;
417 //-----------------------------------------------------------------------
429 virtual std::time_t getLastChangeDate() const override;
430 //-----------------------------------------------------------------------
448 virtual void takeOverRecord( Record * pRecord ) override;
449 //-----------------------------------------------------------------------
483 virtual int preStore( EnDeepMode eDeepMode, void *& prData );
484 //-----------------------------------------------------------------------
519 virtual int store( EnDeepMode eDeepMode = DM_SHALLOW ) override;
520 //-----------------------------------------------------------------------
542 virtual void postStore( int iStoreErr, EnDeepMode eDeepMode, void * pData );
543 //-----------------------------------------------------------------------
579 virtual int preDeleteInBase( EnDeepMode eDeepMode, void *& prData );
580 //-----------------------------------------------------------------------
610 virtual int deleteInBase( EnDeepMode eDeepMode = DM_SHALLOW ) override;
611 //-----------------------------------------------------------------------
635 virtual void postDeleteInBase( int iDeleteErr, EnDeepMode eDeepMode, void * pData );
636 //-----------------------------------------------------------------------
669 virtual int preRefresh( void *& prData );
670 //-----------------------------------------------------------------------
701 virtual int refresh() override;
702 //-----------------------------------------------------------------------
724 virtual void postRefresh( int iRefreshErr, void * pData );
725 //-----------------------------------------------------------------------
764 virtual int preLock( EnLockMode eLockMode, EnDeepMode eDeepMode, void *& prData );
765 //-----------------------------------------------------------------------
803 virtual int lock( EnLockMode eLockMode = LK_DELETEvWRITE,
804 EnDeepMode eDeepMode = DM_SHALLOW ) override;
805 //-----------------------------------------------------------------------
831 virtual void postLock( int iLockErr, EnLockMode eLockMode, EnDeepMode eDeepMode, void * pData );
832 //-----------------------------------------------------------------------
871 virtual int preRelock( EnLockMode eLockMode, EnDeepMode eDeepMode, void *& prData );
872 //-----------------------------------------------------------------------
920 virtual int relock( EnLockMode eLockMode = LK_DELETEvWRITE,
921 EnDeepMode eDeepMode = DM_SHALLOW ) override;
922 //-----------------------------------------------------------------------
948 virtual void postRelock( int iLockErr, EnLockMode eLockMode, EnDeepMode eDeepMode, void * pData );
949 //-----------------------------------------------------------------------
988 virtual int preUnlock( EnLockMode eLockMode, EnDeepMode eDeepMode, void *& prData );
989 //-----------------------------------------------------------------------
1029 virtual int unlock( EnLockMode eLockMode = LK_DELETEvWRITE,
1030 EnDeepMode eDeepMode = DM_SHALLOW ) override;
1031 //-----------------------------------------------------------------------
1058 virtual void postUnlock( int iUnlockErr, EnLockMode eLockMode, EnDeepMode eDeepMode, void * pData );
1059 //-----------------------------------------------------------------------
1103 virtual int preSetWatch( TdWatchNotifyMode ulWatchMode,
1104 EnDeepMode eDeepMode,
1105 CallBack * pCallBack,
1106 void *& prData );
1107 //-----------------------------------------------------------------------
1183 virtual int setWatch( TdWatchNotifyMode ulWatchMode,
1184 EnDeepMode eDeepMode,
1185 CallBack * pCallBack = 0 ) override;
1186 //-----------------------------------------------------------------------
1220 virtual void postSetWatch( int iSetWatchErr,
1221 TdWatchNotifyMode ulWatchMode,
1222 EnDeepMode eDeepMode,
1223 CallBack * pCallBack,
1224 void * pData );
1225 //-----------------------------------------------------------------------
1269 virtual int preUnsetWatch( TdWatchNotifyMode ulWatchMode,
1270 EnDeepMode eDeepMode,
1271 CallBack * pCallBack,
1272 void *& prData );
1273 //-----------------------------------------------------------------------
1348 virtual int unsetWatch( TdWatchNotifyMode ulWatchMode,
1349 EnDeepMode eDeepMode,
1350 CallBack * pCallBack = 0 ) override;
1351 //-----------------------------------------------------------------------
1384 virtual void postUnsetWatch( int iUnsetWatchErr,
1385 TdWatchNotifyMode ulWatchMode,
1386 EnDeepMode eDeepMode,
1387 CallBack * pCallBack,
1388 void * pData );
1389 //-----------------------------------------------------------------------
1390
1391 protected:
1392 //============== Methoden
1393 //-----------------------------------------------------------------------
1403 virtual void insertInObjectSpy() const override;
1404 //-----------------------------------------------------------------------
1414 virtual void removeInObjectSpy() const override;
1415 //-----------------------------------------------------------------------
1425 virtual void setCreateDate() override;
1426 //-----------------------------------------------------------------------
1427
1428 public:
1429 //============== Methoden
1430 //-----------------------------------------------------------------------
1446 virtual unsigned long getGloClassID() const override;
1447 //-----------------------------------------------------------------------
1461 virtual int getTypeAsString( std::string & rsTypeName ) override;
1462 //-----------------------------------------------------------------------
1488 virtual int setGloAttribute( const AttributeID & rAttributeID, void * pPara );
1489 //-----------------------------------------------------------------------
1512 virtual void * getGloAttribute( const AttributeID & rAttributeID );
1513 //-----------------------------------------------------------------------
1539 virtual int setGloAttribute (const std::string & rstrAttributName, void * pPara);
1540 //-----------------------------------------------------------------------
1562 virtual void * getGloAttribute (const std::string & rstrAttributName);
1563 //-----------------------------------------------------------------------
1565
1580 virtual bool isSameOrSuperClassFrom( const glo::Persistent * pPersistent ) const;
1581 virtual bool isSameOrSuperClassFrom( const std::shared_ptr<glo::Persistent> pPersistent ) const;
1583 //-----------------------------------------------------------------------
1584
1585 protected:
1586 //============== Methoden
1587 //-----------------------------------------------------------------------
1608 virtual void _postAssign( Base & rBase );
1609 //-----------------------------------------------------------------------
1610
1611 //============== Operatoren
1612 //-----------------------------------------------------------------------
1624 Persistent & operator= ( const Persistent & rT );
1625 //-----------------------------------------------------------------------
1627
1638 bool operator== ( const Persistent & rT ) const;
1639 bool operator!= ( const Persistent & rT ) const;
1641 //-----------------------------------------------------------------------
1642 };
1643 //---------------------------------------------------------------------------
1644} // namespace glo
1645#endif
Header für BasePersistent
Header und Source für TOndemand
Abstrakte Basisklasse für Persistent und die generische GenericPersistent.
Definition GloBasePersistent.h:116
Oberklasse für die Klassen, welche mit einer Base 'verbunden' sind.
Definition GloCallBack.h:74
Ein Objekt-ID besteht aus der Klassen-ID, einer Datenbank-ID und der eigentlichen eindeutigen ObjektZ...
Definition GloObjID.h:77
Die Basisklasse der persistenten Klassen. Von dieser Klasse müssen alle persistenten Klassen abgeleit...
Definition GloPersistent.h:235
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:261
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 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:249
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:274
virtual void setCreateDate() override
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 void postRefresh(int iRefreshErr, void *pData)
virtual int preUnsetWatch(TdWatchNotifyMode ulWatchMode, EnDeepMode eDeepMode, CallBack *pCallBack, void *&prData)
virtual int setGloAttribute(const std::string &rstrAttributName, void *pPara)
virtual int preUnlock(EnLockMode eLockMode, EnDeepMode eDeepMode, void *&prData)
virtual ~Persistent()
virtual std::time_t getLastChangeDate() const 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)
Definition GloBasePersistent.h:52