GlobalObjects
Lade ...
Suche ...
Keine Treffer
GloReference.h
gehe zur Dokumentation dieser Datei
1#ifndef INC_GLOREFERENCE_H
2#define INC_GLOREFERENCE_H
3//-----------------------------------------------------------------------------
36//-----------------------------------------------------------------------------
37#include "GloTypes.h"
38#include "GloCallBack.h"
39#include "GloObjID.h"
42#include <memory>
43//-----------------------------------------------------------------------------
44namespace glo
45{
46 //---------------------------------------------------------------------------
47 /* Forwards */
48 class BasePersistent;
49 //---------------------------------------------------------------------------
65 {
66 private:
67 //============== Friends
68 //-----------------------------------------------------------------------
69 friend class ObjectMaker;
70 friend class OndemandLot;
71 friend class OndemandList;
72 friend class OndemandSet;
74 friend class BaseAllSet;
75 friend class Base;
77 //-----------------------------------------------------------------------
78
79 //============== Attribute
80 //-----------------------------------------------------------------------
91 //-----------------------------------------------------------------------
92
93 public:
94 //============== de- contructors
95 //-----------------------------------------------------------------------
106 //-----------------------------------------------------------------------
120 Reference( const ObjID & rObjID );
121 //-----------------------------------------------------------------------
135 Reference( Base & rBase );
136 //-----------------------------------------------------------------------
152 Reference( const ObjID & rObjID, Base & rBase );
153 //-----------------------------------------------------------------------
165 Reference( const Reference & rT );
166 //-----------------------------------------------------------------------
176 virtual ~Reference();
177 //-----------------------------------------------------------------------
178
179 //============== Methoden
180 //-----------------------------------------------------------------------
196 virtual int getTypeAsString( std::string & rsTypeName ) override;
197 //-----------------------------------------------------------------------
209 bool isNULL() const;
210 //-----------------------------------------------------------------------
220 void setNULL();
221 //-----------------------------------------------------------------------
234 //-----------------------------------------------------------------------
246 const ObjID * getObjIDAsPointer() const;
247 //-----------------------------------------------------------------------
259 virtual void setReference( const ObjID & rObjID );
260 //-----------------------------------------------------------------------
277 int setReference( const BasePersistent * pObj );
278 //-----------------------------------------------------------------------
295 int setReference( const BasePersistent & rObj );
296 //-----------------------------------------------------------------------
316 int getReference( BasePersistent *& prRetVal ) const;
317 //-----------------------------------------------------------------------
333 int getReference( std::shared_ptr<BasePersistent> & sprRetVal ) const;
334 //-----------------------------------------------------------------------
348 virtual int deleteInBase( EnDeepMode eDeepMode = DM_SHALLOW );
349 //-----------------------------------------------------------------------
373 virtual int lock( EnLockMode eLockMode = LK_DELETEvWRITE,
374 EnDeepMode eDeepMode = DM_SHALLOW ) const;
375 //-----------------------------------------------------------------------
397 virtual int lock( const LockSpecification & rLockSpecification ) const;
398 //-----------------------------------------------------------------------
425 virtual int unlock( EnLockMode eLockMode = LK_DELETEvWRITE,
426 EnDeepMode eDeepMode = DM_SHALLOW ) const;
427 //-----------------------------------------------------------------------
452 virtual int unlock( const LockSpecification & rLockSpecification ) const;
453 //-----------------------------------------------------------------------
475 virtual int isLocked( EnLockMode eLockMode = LK_DELETEvWRITE,
476 EnDeepMode eDeepMode = DM_SHALLOW ) const;
477 //-----------------------------------------------------------------------
497 virtual int isLocked( const LockSpecification & rLockSpecification ) const;
498 //-----------------------------------------------------------------------
522 virtual int isPossible( bool bRead,
523 bool bWrite,
524 bool bDelete,
525 EnDeepMode eDeepMode = DM_SHALLOW ) const;
526 //-----------------------------------------------------------------------
546 virtual int isPossible( const LockPossibleSpecification & rLockPossibleSpec,
547 EnDeepMode eDeepMode = DM_SHALLOW ) const;
548 //-----------------------------------------------------------------------
597 virtual int setWatch( TdWatchNotifyMode ulWatchMode,
598 EnDeepMode eDeepMode,
599 CallBack * pCallBack = 0 ) const;
600 //-----------------------------------------------------------------------
623 virtual int setWatch( const WatchSpecification & rWatchSpec ) const;
624 //-----------------------------------------------------------------------
673 virtual int unsetWatch( TdWatchNotifyMode ulWatchMode,
674 EnDeepMode eDeepMode,
675 CallBack * pCallBack ) const;
676 //-----------------------------------------------------------------------
702 virtual int unsetWatch( const WatchSpecification & rWatchSpec ) const;
703 //-----------------------------------------------------------------------
704
705 //============== Operatoren
706 //-----------------------------------------------------------------------
718 Reference & operator= ( const Reference & rT );
719 //-----------------------------------------------------------------------
721
732 bool operator== ( const Reference & rT ) const;
733 bool operator!= ( const Reference & rT ) const;
735 //-----------------------------------------------------------------------
736 };
737 //---------------------------------------------------------------------------
738} // namespace glo
739#endif
Header für CallBack
Header für LockSpecification
Header für ObjID
Für jede Bibliothek, hier 'GlobalObjects' gibt es eine Typen-Datei.
#define __glo_export_dll
Definition GloTypes.h:63
Header für WatchSpecification
Ist die Basisklasse von Template-AllSets und dem generischen AllSet.
Definition GloBaseAllSet.h:80
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
Um Objekte sperren zu können, werden der 'Lock-Modus' und die 'Sperrtiefe' als Parameter benötigt....
Definition GloLockSpecification.h:58
Ein Objekt-ID besteht aus der Klassen-ID, einer Datenbank-ID und der eigentlichen eindeutigen ObjektZ...
Definition GloObjID.h:77
Diese Klasse kann aus einem Datensatz ein persistentes Objekt instanziieren bzw. ein persistentes Obj...
Definition GloObjectMaker.h:63
Klasse für die Ondemand-Referenz-Attribute eines Record.
Definition GloOdRefRecordAttribute.h:63
Ist die Basisklasse von Template-Ondemand-List. Die Objekte werden in einer std::list verwaltet....
Definition GloOndemandList.h:66
Ist die abstrakte Basisklasse von Ondemand-Sets und -Listen.
Definition GloOndemandLot.h:62
Ist die Basisklasse von Template-Ondemand-Set. Objekte können nur einmalig eingefügt werden.
Definition GloOndemandSet.h:64
Die Basisklasse eines Referenz-Attributs von persistenten Objekten auf andere persistente Objekte in ...
Definition GloReference.h:65
virtual int unsetWatch(TdWatchNotifyMode ulWatchMode, EnDeepMode eDeepMode, CallBack *pCallBack) const
virtual int setWatch(TdWatchNotifyMode ulWatchMode, EnDeepMode eDeepMode, CallBack *pCallBack=0) const
virtual int lock(const LockSpecification &rLockSpecification) const
virtual int unsetWatch(const WatchSpecification &rWatchSpec) const
virtual int isLocked(EnLockMode eLockMode=LK_DELETEvWRITE, EnDeepMode eDeepMode=DM_SHALLOW) const
virtual int isLocked(const LockSpecification &rLockSpecification) const
Reference(const Reference &rT)
virtual int setWatch(const WatchSpecification &rWatchSpec) const
virtual int getTypeAsString(std::string &rsTypeName) override
virtual int isPossible(bool bRead, bool bWrite, bool bDelete, EnDeepMode eDeepMode=DM_SHALLOW) const
int setReference(const BasePersistent *pObj)
int setReference(const BasePersistent &rObj)
Reference(const ObjID &rObjID)
virtual int lock(EnLockMode eLockMode=LK_DELETEvWRITE, EnDeepMode eDeepMode=DM_SHALLOW) const
virtual int isPossible(const LockPossibleSpecification &rLockPossibleSpec, EnDeepMode eDeepMode=DM_SHALLOW) const
int getReference(BasePersistent *&prRetVal) const
virtual void setReference(const ObjID &rObjID)
virtual ~Reference()
Reference(Base &rBase)
ObjID getObjID() const
virtual int deleteInBase(EnDeepMode eDeepMode=DM_SHALLOW)
bool isNULL() const
ObjID m_RefObjID
Definition GloReference.h:90
const ObjID * getObjIDAsPointer() const
int getReference(std::shared_ptr< BasePersistent > &sprRetVal) const
Reference(const ObjID &rObjID, Base &rBase)
virtual int unlock(EnLockMode eLockMode=LK_DELETEvWRITE, EnDeepMode eDeepMode=DM_SHALLOW) const
virtual int unlock(const LockSpecification &rLockSpecification) const
Ein Objekt dieser Klasse greift auf Tabellen zu und liest Datensätze (Record) und Binärdateien (eut::...
Definition GloTableReaderInterface.h:77
Um Objekte beobachten zu können, müssen der 'Beobachtungsmodus', die 'Beobachtungstiefe' und das 'Ben...
Definition GloWatchSpecification.h:60
Definition GloAbstractBaseLot.h:42
EnDeepMode
Definition GloTypes.h:247
EnLockMode
Definition GloTypes.h:1070
unsigned long TdWatchNotifyMode
Definition GloTypes.h:543
Es können erlaubte Aktionen in der Datenbank wie lesen, schreiben und löschen für ein Objekt erfragt ...
Definition GloTypes.h:1271