GlobalObjects
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{
221 {
222 //============== Attributes
223 //-----------------------------------------------------------------------
236 //-----------------------------------------------------------------------
247 std::time_t m_dtCreateDate;
248 //-----------------------------------------------------------------------
260 std::time_t m_dtLastChange;
261 //-----------------------------------------------------------------------
262
263 public:
264 //============== ctor
265 //-----------------------------------------------------------------------
276 //-----------------------------------------------------------------------
277
278 protected:
279 //============== detor
280 //-----------------------------------------------------------------------
296 virtual ~Persistent();
297 //-----------------------------------------------------------------------
298
299 public:
300 //============== copy ctor
301 //-----------------------------------------------------------------------
313 Persistent( const Persistent & rT );
314 //-----------------------------------------------------------------------
315
316 public:
317 //============== Methoden
318 //-----------------------------------------------------------------------
346 virtual int assign( Base & rBase ) override;
347 //-----------------------------------------------------------------------
359 virtual void removeBase() override;
360 //-----------------------------------------------------------------------
370 virtual ObjID getObjID() const override;
371 //-----------------------------------------------------------------------
383 virtual std::time_t getCreateDate() const override;
384 //-----------------------------------------------------------------------
396 virtual std::time_t getLastChangeDate() const override;
397 //-----------------------------------------------------------------------
415 virtual void takeOverRecord( Record * pRecord ) override;
416 //-----------------------------------------------------------------------
446 virtual int preStore( EnDeepMode eDeepMode, void *& prData );
447 //-----------------------------------------------------------------------
482 virtual int store( EnDeepMode eDeepMode = DM_SHALLOW ) override;
483 //-----------------------------------------------------------------------
505 virtual void postStore( int iStoreErr, EnDeepMode eDeepMode, void * pData );
506 //-----------------------------------------------------------------------
537 virtual int preDeleteInBase( EnDeepMode eDeepMode, void *& prData );
538 //-----------------------------------------------------------------------
568 virtual int deleteInBase( EnDeepMode eDeepMode = DM_SHALLOW ) override;
569 //-----------------------------------------------------------------------
592 virtual void postDeleteInBase( int iDeleteErr, EnDeepMode eDeepMode, void * pData );
593 //-----------------------------------------------------------------------
623 virtual int preRefresh( void *& prData );
624 //-----------------------------------------------------------------------
655 virtual int refresh() override;
656 //-----------------------------------------------------------------------
678 virtual void postRefresh( int iRefreshErr, void * pData );
679 //-----------------------------------------------------------------------
713 virtual int preLock( EnLockMode eLockMode, EnDeepMode eDeepMode, void *& prData );
714 //-----------------------------------------------------------------------
752 virtual int lock( EnLockMode eLockMode = LK_DELETEvWRITE,
753 EnDeepMode eDeepMode = DM_SHALLOW ) override;
754 //-----------------------------------------------------------------------
780 virtual void postLock( int iLockErr, EnLockMode eLockMode, EnDeepMode eDeepMode, void * pData );
781 //-----------------------------------------------------------------------
815 virtual int preUnlock( EnLockMode eLockMode, EnDeepMode eDeepMode, void *& prData );
816 //-----------------------------------------------------------------------
856 virtual int unlock( EnLockMode eLockMode = LK_DELETEvWRITE,
857 EnDeepMode eDeepMode = DM_SHALLOW ) override;
858 //-----------------------------------------------------------------------
885 virtual void postUnlock( int iUnlockErr, EnLockMode eLockMode, EnDeepMode eDeepMode, void * pData );
886 //-----------------------------------------------------------------------
925 virtual int preSetWatch( TdWatchNotifyMode ulWatchMode,
926 EnDeepMode eDeepMode,
927 CallBack * pCallBack,
928 void *& prData );
929 //-----------------------------------------------------------------------
999 virtual int setWatch( TdWatchNotifyMode ulWatchMode,
1000 EnDeepMode eDeepMode,
1001 CallBack * pCallBack = 0 ) override;
1002 //-----------------------------------------------------------------------
1036 virtual void postSetWatch( int iSetWatchErr,
1037 TdWatchNotifyMode ulWatchMode,
1038 EnDeepMode eDeepMode,
1039 CallBack * pCallBack,
1040 void * pData );
1041 //-----------------------------------------------------------------------
1080 virtual int preUnsetWatch( TdWatchNotifyMode ulWatchMode,
1081 EnDeepMode eDeepMode,
1082 CallBack * pCallBack,
1083 void *& prData );
1084 //-----------------------------------------------------------------------
1153 virtual int unsetWatch( TdWatchNotifyMode ulWatchMode,
1154 EnDeepMode eDeepMode,
1155 CallBack * pCallBack = 0 ) override;
1156 //-----------------------------------------------------------------------
1189 virtual void postUnsetWatch( int iUnsetWatchErr,
1190 TdWatchNotifyMode ulWatchMode,
1191 EnDeepMode eDeepMode,
1192 CallBack * pCallBack,
1193 void * pData );
1194 //-----------------------------------------------------------------------
1195
1196 protected:
1197 //============== Methoden
1198 //-----------------------------------------------------------------------
1208 virtual void insertInObjectSpy() const override;
1209 //-----------------------------------------------------------------------
1219 virtual void removeInObjectSpy() const override;
1220 //-----------------------------------------------------------------------
1230 virtual void setCreateDate() override;
1231 //-----------------------------------------------------------------------
1232
1233 public:
1234 //============== Methoden
1235 //-----------------------------------------------------------------------
1251 virtual unsigned long getGloClassID() const override;
1252 //-----------------------------------------------------------------------
1266 virtual int getTypeAsString( std::string & rsTypeName ) override;
1267 //-----------------------------------------------------------------------
1293 virtual int setGloAttribute( const AttributeID & rAttributeID, void * pPara );
1294 //-----------------------------------------------------------------------
1317 virtual void * getGloAttribute( const AttributeID & rAttributeID );
1318 //-----------------------------------------------------------------------
1344 virtual int setGloAttribute (const std::string & rstrAttributName, void * pPara);
1345 //-----------------------------------------------------------------------
1367 virtual void * getGloAttribute (const std::string & rstrAttributName);
1368 //-----------------------------------------------------------------------
1370
1385 virtual bool isSameOrSuperClassFrom( const glo::Persistent * pPersistent ) const;
1386 virtual bool isSameOrSuperClassFrom( const std::shared_ptr<glo::Persistent> pPersistent ) const;
1388 //-----------------------------------------------------------------------
1389
1390 protected:
1391 //============== Methoden
1392 //-----------------------------------------------------------------------
1413 virtual void _postAssign( Base & rBase );
1414 //-----------------------------------------------------------------------
1415
1416 //============== Operatoren
1417 //-----------------------------------------------------------------------
1429 Persistent & operator= ( const Persistent & rT );
1430 //-----------------------------------------------------------------------
1432
1443 bool operator== ( const Persistent & rT ) const;
1444 bool operator!= ( const Persistent & rT ) const;
1446 //-----------------------------------------------------------------------
1447 };
1448 //---------------------------------------------------------------------------
1449} // namespace glo
1450#endif
Header für ErrorNException
Header für AttributeID
Header für BasePersistent
Header für PersObjectSpy
Header für Record und Record::IndexStrNameTuple
Header und Source für TOndemand
Header und Source für TOndemandList
Header und Source für TOndemandSet
Header und Source für TPointerList
Header und Source für TPointerSet
Für jede Bibliothek, hier 'GlobalObjects' gibt es eine Typen-Datei.
#define __glo_export_dll
Definition GloTypes.h:63
Diese Klasse spiegelt eine eindeutige ID eines Klasseninformations-Attributes wieder.
Definition GloAttributeID.h:74
Diese Klasse ist die Schnittstelle zu den persistenten Objekten. Hier können "Objekte" angemeldet,...
Definition GloBase.h:250
Abstrakte Basisklasse für Persistent und die generische GenericPersistent.
Definition GloBasePersistent.h:102
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:221
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:247
virtual int unlock(EnLockMode eLockMode=LK_DELETEvWRITE, EnDeepMode eDeepMode=DM_SHALLOW) override
virtual int unsetWatch(TdWatchNotifyMode ulWatchMode, EnDeepMode eDeepMode, CallBack *pCallBack=0) override
virtual void _postAssign(Base &rBase)
Persistent(const Persistent &rT)
ObjID m_ObjID
Definition GloPersistent.h:235
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:260
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 int getTypeAsString(std::string &rsTypeName) override
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 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)
Objekte dieser Klasse transportieren die Daten von den Tabellen ins persistente Objekt und von diesen...
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