BankAndCustomer
Lade ...
Suche ...
Keine Treffer
SelfWatchingClass Klassenreferenz

Beispiel einer selbstbeobachtenden Klasse, die ihre persistenten Attribute durch Aufrufen von refresh() aus der Datenbank neu lädt, wenn andere Instanzen sie geändert haben. Mehr ...

#include <SelfWatchingClass.h>

Klassendiagramm für SelfWatchingClass:
Zusammengehörigkeiten von SelfWatchingClass:

Öffentliche Methoden

 SelfWatchingClass ()
 
virtual ~SelfWatchingClass ()
 
virtual void activate () override
 
virtual void postStore (int iStoreErr, glo::EnDeepMode eDeepMode, void *pData) override
 
virtual void postDeleteInBase (int iDeleteErr, glo::EnDeepMode eDeepMode, void *pData) override
 
virtual void notify (glo::NotifyNote &rNote) override
 
- Öffentliche Methoden geerbt von glo::Persistent
 Persistent ()
 
 Persistent (const Persistent &rT)
 
virtual int assign (Base &rBase) override
 
virtual void removeBase () override
 
virtual ObjID getObjID () const override
 
virtual std::time_t getCreateDate () const override
 
virtual std::time_t getLastChangeDate () const override
 
virtual void takeOverRecord (Record *pRecord) override
 
virtual int preStore (EnDeepMode eDeepMode, void *&prData)
 
virtual int store (EnDeepMode eDeepMode=DM_SHALLOW) override
 
virtual void postStore (int iStoreErr, EnDeepMode eDeepMode, void *pData)
 
virtual int preDeleteInBase (EnDeepMode eDeepMode, void *&prData)
 
virtual int deleteInBase (EnDeepMode eDeepMode=DM_SHALLOW) override
 
virtual void postDeleteInBase (int iDeleteErr, EnDeepMode eDeepMode, void *pData)
 
virtual int preRefresh (void *&prData)
 
virtual int refresh () override
 
virtual void postRefresh (int iRefreshErr, void *pData)
 
virtual int preLock (EnLockMode eLockMode, EnDeepMode eDeepMode, void *&prData)
 
virtual int lock (EnLockMode eLockMode=LK_DELETEvWRITE, EnDeepMode eDeepMode=DM_SHALLOW) override
 
virtual void postLock (int iLockErr, EnLockMode eLockMode, EnDeepMode eDeepMode, void *pData)
 
virtual int preRelock (EnLockMode eLockMode, EnDeepMode eDeepMode, void *&prData)
 
virtual int relock (EnLockMode eLockMode=LK_DELETEvWRITE, EnDeepMode eDeepMode=DM_SHALLOW) override
 
virtual void postRelock (int iLockErr, EnLockMode eLockMode, EnDeepMode eDeepMode, void *pData)
 
virtual int preUnlock (EnLockMode eLockMode, EnDeepMode eDeepMode, void *&prData)
 
virtual int unlock (EnLockMode eLockMode=LK_DELETEvWRITE, EnDeepMode eDeepMode=DM_SHALLOW) override
 
virtual void postUnlock (int iUnlockErr, EnLockMode eLockMode, EnDeepMode eDeepMode, void *pData)
 
virtual int preSetWatch (TdWatchNotifyMode ulWatchMode, EnDeepMode eDeepMode, CallBack *pCallBack, void *&prData)
 
virtual int setWatch (TdWatchNotifyMode ulWatchMode, EnDeepMode eDeepMode, CallBack *pCallBack=0) override
 
virtual void postSetWatch (int iSetWatchErr, TdWatchNotifyMode ulWatchMode, EnDeepMode eDeepMode, CallBack *pCallBack, void *pData)
 
virtual int preUnsetWatch (TdWatchNotifyMode ulWatchMode, EnDeepMode eDeepMode, CallBack *pCallBack, void *&prData)
 
virtual int unsetWatch (TdWatchNotifyMode ulWatchMode, EnDeepMode eDeepMode, CallBack *pCallBack=0) override
 
virtual void postUnsetWatch (int iUnsetWatchErr, TdWatchNotifyMode ulWatchMode, EnDeepMode eDeepMode, CallBack *pCallBack, void *pData)
 
virtual unsigned long getGloClassID () const override
 
virtual int getTypeAsString (std::string &rsTypeName) override
 
virtual int setGloAttribute (const AttributeID &rAttributeID, void *pPara)
 
virtual void * getGloAttribute (const AttributeID &rAttributeID)
 
virtual int setGloAttribute (const std::string &rstrAttributName, void *pPara)
 
virtual void * getGloAttribute (const std::string &rstrAttributName)
 
virtual bool isSameOrSuperClassFrom (const glo::Persistent *pPersistent) const
 Prüft ob übergebenes Objekt auf dieses gecastet werden kann.
 
virtual bool isSameOrSuperClassFrom (const std::shared_ptr< glo::Persistent > pPersistent) const
 Prüft ob übergebenes Objekt auf dieses gecastet werden kann.
 
- Öffentliche Methoden geerbt von glo::BasePersistent
 BasePersistent ()
 
 BasePersistent (const BasePersistent &rT)
 
virtual int setBase (Base *pBase) override
 
virtual Base * getBase () const override
 
virtual int getClassInfo (ClassInfo *&prClassInfo)
 
virtual unsigned int remember ()
 
virtual unsigned int forget ()
 
virtual bool isAssigned () const
 
unsigned int getLinkCount () const
 
int getRecord (Record *&prRecord) const
 
int getRecord (std::shared_ptr< Record > &rRetVal) const
 
int getAllPersAttributeNames (std::list< std::string > &rRetValList, const std::vector< unsigned long > *pClassIdVector=0) const
 
int getAllPersAttributeNamesSortByID (std::map< AttributeID, std::string > &rRetValMap, const std::vector< unsigned long > *pClassIdVector=0) const
 
int getPersAttribute (BaseRecordAttribute *&prRetVal, const std::string &sName) const
 
int getPersAttribute (std::shared_ptr< BaseRecordAttribute > &rRetVal, const std::string &sName) const
 
int getPersAttribute (BaseRecordAttribute *&prRetVal, const AttributeID &rAttributeID) const
 
int getPersAttribute (std::shared_ptr< BaseRecordAttribute > &rRetVal, const AttributeID &rAttributeID) const
 
int getAllPersAttributes (std::list< BaseRecordAttribute * > &rRetValList, const std::vector< unsigned long > *pClassIdVector=0) const
 
int getAllPersAttributes (std::list< std::shared_ptr< BaseRecordAttribute > > &rRetValList, const std::vector< unsigned long > *pClassIdVector=0) const
 
int getAllPersAttributesSortByName (std::map< std::string, BaseRecordAttribute *, std::less< std::string > > &rRetValMap, const std::vector< unsigned long > *pClassIdVector=0) const
 
int getAllPersAttributesSortByName (std::map< std::string, std::shared_ptr< BaseRecordAttribute >, std::less< std::string > > &rRetValMap, const std::vector< unsigned long > *pClassIdVector=0) const
 
int getAllPersAttributesSortByID (std::map< AttributeID, BaseRecordAttribute *, std::less< AttributeID > > &rRetValMap, const std::vector< unsigned long > *pClassIdVector=0) const
 
int getAllPersAttributesSortByID (std::map< AttributeID, std::shared_ptr< BaseRecordAttribute >, std::less< AttributeID > > &rRetValMap, const std::vector< unsigned long > *pClassIdVector=0) const
 
virtual bool isStored ()
 
virtual bool isDeletedInBase ()
 
virtual int lock (const LockSpecification &rLockSpecification)
 
virtual int relock (const LockSpecification &rLockSpecification)
 
virtual int unlock (const LockSpecification &rLockSpecification)
 
virtual int isLocked (EnLockMode eLockMode=LK_DELETEvWRITE, EnDeepMode eDeepMode=DM_SHALLOW) const
 
virtual int isLocked (const LockSpecification &rLockSpecification) const
 
virtual int isPossible (bool bRead, bool bWrite, bool bDelete, EnDeepMode eDeepMode=DM_SHALLOW) const
 
virtual int isPossible (const LockPossibleSpecification &rLockPossibleSpec, EnDeepMode eDeepMode=DM_SHALLOW) const
 
virtual int getProcessingPossibilities (LockPossibleSpecification &rLockPossibleSpec, EnDeepMode eDeepMode=DM_SHALLOW) const
 
virtual int setWatch (const WatchSpecification &rWatchSpec)
 
virtual int unsetWatch (const WatchSpecification &rWatchSpec)
 
BasePersistentoperator= (const BasePersistent &rT)
 
bool operator== (const BasePersistent &rT) const
 Vergleichsoperator, es werden alle Attribute verglichen.
 
bool operator!= (const BasePersistent &rT) const
 Vergleichsoperator, es werden alle Attribute verglichen.
 
- Öffentliche Methoden geerbt von glo::CallBack
 CallBack ()
 
virtual ~CallBack ()
 
virtual void notify (NotifyNote &rNote)
 
CallBackoperator= (const CallBack &rT)
 
bool operator== (const CallBack &rT) const
 Vergleichsoperator, es werden alle Attribute verglichen.
 
bool operator!= (const CallBack &rT) const
 Vergleichsoperator, es werden alle Attribute verglichen.
 

Private Methoden

 GLO_OBJECT (SelfWatchingClass:glo::Persistent)
 

Private Attribute

bool m_bIsSelfWatching
 
bool m_bInTheNotifyMethod
 
bool m_bInDestructor
 

Weitere Geerbte Elemente

- Öffentliche Attribute geerbt von glo::CallBack
std::string m_strDebugInfo
 
- Geschützte Methoden geerbt von glo::Persistent
virtual ~Persistent ()
 
virtual void insertInObjectSpy () const override
 
virtual void removeInObjectSpy () const override
 
virtual void setCreateDate () override
 
virtual void _postAssign (Base &rBase)
 
Persistentoperator= (const Persistent &rT)
 
bool operator== (const Persistent &rT) const
 Vergleichsoperator.
 
bool operator!= (const Persistent &rT) const
 Vergleichsoperator.
 
- Geschützte Methoden geerbt von glo::BasePersistent
virtual ~BasePersistent ()
 
void setSpyaction (bool bSpyaction)
 
- Geschützte Methoden geerbt von glo::CallBack
 CallBack (const CallBack &rT)
 
void init ()
 
void deinit ()
 
- Geschützte Attribute geerbt von glo::BasePersistent
Base * m_pBase
 
unsigned int m_uiReferenceCount
 
eut::CriticalSection m_LocalCriticalSection
 
Record * m_pRecord
 
bool m_bSpyaction
 

Ausführliche Beschreibung

Beispiel einer selbstbeobachtenden Klasse, die ihre persistenten Attribute durch Aufrufen von refresh() aus der Datenbank neu lädt, wenn andere Instanzen sie geändert haben.

Autor
Helmut Jakoby

Beschreibung der Konstruktoren und Destruktoren

◆ SelfWatchingClass()

SelfWatchingClass::SelfWatchingClass ( )

Im Konstruktor werden die Attribute initialisiert.

◆ ~SelfWatchingClass()

virtual SelfWatchingClass::~SelfWatchingClass ( )
virtual

Im Destruktor wird die Beobachtung wieder aufgehoben.

Dokumentation der Elementfunktionen

◆ activate()

virtual void SelfWatchingClass::activate ( )
overridevirtual

Wenn das Objekt aus der Datenbank geladen wird, wird eine Beobachtung initiiert.

Erneute Implementation von glo::Persistent.

◆ GLO_OBJECT()

SelfWatchingClass::GLO_OBJECT ( SelfWatchingClass:glo::Persistent )
private

◆ notify()

virtual void SelfWatchingClass::notify ( glo::NotifyNote & rNote)
overridevirtual

Diese Methode wird von der Datenbank aufgerufen, wenn dieses Objekt benachrichtigt werden soll.

Wenn dieses Objekt von einer anderen Instanz gespeichert wird, wird eine Aktualisierung der Attribute aus der Datenbank initiiert.

Wenn das Objekt von einer anderen Instanz gelöscht wurde, wird die eigene Beobachtung aufgehoben.

Parameter
[in]rNoteDie Benachrichtigungs-Information.

◆ postDeleteInBase()

virtual void SelfWatchingClass::postDeleteInBase ( int iDeleteErr,
glo::EnDeepMode eDeepMode,
void * pData )
overridevirtual

Wird in glo::Persistent::deleteInBase(EnDeepMode) nach dem Löschen in der Datenbank bzw. bei fehlgeschlagenem Löschen aufgerufen.

Es wird versucht eine Überwachung aufzuheben, wenn der Parameter iDeleteErr == 0 ist.

Parameter
[in]iDeleteErrGgf. ein Fehler beim Löschen. Wenn !=0 wurde das Löschen in Persistent::deleteInBase(EnDeepMode) nicht durchgeführt.
[in]eDeepModeDer Löschtiefenmodus.
[in]pDataDaten die in Persistent::preDeleteInBase(EnDeepMode,void*&) ggf. gesetzt wurden.

◆ postStore()

virtual void SelfWatchingClass::postStore ( int iStoreErr,
glo::EnDeepMode eDeepMode,
void * pData )
overridevirtual

Wird in glo::Persistent::store(EnDeepMode) nach dem Speichern aufgerufen.

Es wird versucht, wenn Parameter iStoreErr == 0, eine Beobachtung zu setzen.

Parameter
[in]iStoreErrGgf. ein Fehler beim Speichern. Wenn !=0 wurde das Speichern in Persistent::store(EnDeepMode) nicht durchgeführt.
[in]eDeepModeDer Speichertiefenmodus.
[in]pDataDaten die in Persistent::preStore(EnDeepMode,void*&) ggf. gesetzt wurden.

Dokumentation der Datenelemente

◆ m_bInDestructor

bool SelfWatchingClass::m_bInDestructor
private

Wird im Destruktor gesetzt um notify(glo::NotifyNote&) nicht auszuführen.

◆ m_bInTheNotifyMethod

bool SelfWatchingClass::m_bInTheNotifyMethod
private

Wenn true, wird im Destruktor gewartet, bis notify(glo::NotifyNote&) abgearbeitet.

◆ m_bIsSelfWatching

bool SelfWatchingClass::m_bIsSelfWatching
private

Wenn true, hat das Objekt einen Watch auf sich selbst abgesetzt.


Die Dokumentation für diese Klasse wurde erzeugt aufgrund der Datei: