GlobalObjects
Lade ...
Suche ...
Keine Treffer
GloPersObjectSpy.h
gehe zur Dokumentation dieser Datei
1#ifndef INC_GLOPERSOBJECTSPY_H
2#define INC_GLOPERSOBJECTSPY_H
3//-----------------------------------------------------------------------------
36//-----------------------------------------------------------------------------
37#include "GloTypes.h"
38#include <unordered_map>
39#include <memory>
40#if defined (__PTHREADS)
41 #include <EuPCriticalSection.h>
42#else
43 #include "EuCriticalSection.h"
44#endif
45//-----------------------------------------------------------------------------
46namespace glo
47{
48 //---------------------------------------------------------------------------
49 /* Forwards */
50 class Persistent;
51 //---------------------------------------------------------------------------
52 #ifdef _MSC_VER
53 /* 'Bezeichner': Klasse 'Typ' benötigt eine DLL-Schnittstelle, die von... */
54 #pragma warning( disable : 4251 )
55 #endif
56 //---------------------------------------------------------------------------
75 {
76 private:
77 //============== Friends
78 //-----------------------------------------------------------------------
79 friend class Persistent;
80 friend class ObjectMaker;
81 //-----------------------------------------------------------------------
82
83 //============== Attribute
84 //-----------------------------------------------------------------------
96 #if defined (__PTHREADS)
97 EuPCriticalSection m_LocalCriticalSection;
98 #else
100 #endif
101 //-----------------------------------------------------------------------
117 std::unordered_map< unsigned long, Persistent * > m_PersObjectList;
118 //-----------------------------------------------------------------------
128 std::unordered_map< unsigned long, Persistent * >::iterator m_PersObjectListIterator;
129 //-----------------------------------------------------------------------
130
131 public:
132 //============== Konstruktoren
133 //-----------------------------------------------------------------------
144 //-----------------------------------------------------------------------
154 virtual ~PersObjectSpy();
155 //-----------------------------------------------------------------------
156
157 private:
158 //============== Konstruktoren
159 //-----------------------------------------------------------------------
170 //-----------------------------------------------------------------------
171
172 public:
173 //============== Methoden
174 //-----------------------------------------------------------------------
186 std::size_t sizeOfPersObjectList() const;
187 //-----------------------------------------------------------------------
224 //-----------------------------------------------------------------------
271 int getPersistentObject( Persistent *& prRetVal, EnSeekMode eMode );
272 //-----------------------------------------------------------------------
310 int getPersistentObject( std::shared_ptr<Persistent> & rRetVal,
311 EnSeekMode eMode );
312 //-----------------------------------------------------------------------
334 Persistent * getPersistentObject( const ObjID & rGloObjID );
335 //-----------------------------------------------------------------------
369 const ObjID & rGloObjID );
370 //-----------------------------------------------------------------------
393 int getPersistentObject( std::shared_ptr<Persistent> & rRetVal,
394 const ObjID & rGloObjID );
395 //-----------------------------------------------------------------------
410 int insertPersistentObject( const Persistent * pPersObject );
411 //-----------------------------------------------------------------------
425 int removePersistentObject( const Persistent * pPersObject );
426 //-----------------------------------------------------------------------
427
428 private:
429 //============== Operatoren
430 //-----------------------------------------------------------------------
440 PersObjectSpy & operator= ( const PersObjectSpy & );
441 //-----------------------------------------------------------------------
442 };
443 //---------------------------------------------------------------------------
444 #ifdef _MSC_VER
445 /* 'Bezeichner': Klasse 'Typ' benötigt eine DLL-Schnittstelle, die von... */
446 #pragma warning( default : 4251 )
447 #endif
448 //---------------------------------------------------------------------------
449} // namespace glo
450#endif
Header für CriticalSection
Header für EuPCriticalSection
Für jede Bibliothek, hier 'GlobalObjects' gibt es eine Typen-Datei.
#define __glo_export_dll
Definition GloTypes.h:63
Ist ein Mutex, welcher über sein Lock-Modus abgefragt werden kann. Siehe isLocked().
Definition EuPCriticalSection.h:89
Ist ein Mutex, welcher über sein Lock-Modus abgefragt werden kann. Siehe isLocked().
Definition EuCriticalSection.h:94
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 um die persistente Objekte einer Datenbank im Speicher im Zugriff zu haben.
Definition GloPersObjectSpy.h:75
int getPersistentObject(Persistent *&prRetVal, const ObjID &rGloObjID)
int getPersistentObject(std::shared_ptr< Persistent > &rRetVal, EnSeekMode eMode)
int insertPersistentObject(const Persistent *pPersObject)
virtual ~PersObjectSpy()
Persistent * getPersistentObject(EnSeekMode eMode)
int getPersistentObject(std::shared_ptr< Persistent > &rRetVal, const ObjID &rGloObjID)
int getPersistentObject(Persistent *&prRetVal, EnSeekMode eMode)
std::unordered_map< unsignedlong, Persistent * >::iterator m_PersObjectListIterator
Definition GloPersObjectSpy.h:128
std::size_t sizeOfPersObjectList() const
PersObjectSpy(const PersObjectSpy &)
Persistent * getPersistentObject(const ObjID &rGloObjID)
eut::CriticalSection m_LocalCriticalSection
Definition GloPersObjectSpy.h:99
std::unordered_map< unsigned long, Persistent * > m_PersObjectList
Definition GloPersObjectSpy.h:117
int removePersistentObject(const Persistent *pPersObject)
Die Basisklasse der persistenten Klassen. Von dieser Klasse müssen alle persistenten Klassen abgeleit...
Definition GloPersistent.h:221
Definition GloAbstractBaseLot.h:42
EnSeekMode
Definition GloTypes.h:166