GlobalObjects
Loading...
Searching...
No Matches
GloOndemandLot.h
Go to the documentation of this file.
1#ifndef INC_GLOONDEMANDLOT_H
2#define INC_GLOONDEMANDLOT_H
3//-----------------------------------------------------------------------------
43//-----------------------------------------------------------------------------
44#include <list>
45#include "GloTypes.h"
46#include "GloBaseLot.h"
47//-----------------------------------------------------------------------------
48namespace glo
49{
50 //---------------------------------------------------------------------------
51 #ifdef _MSC_VER
52 /* 'Bezeichner': Klasse 'Typ' benötigt eine DLL-Schnittstelle, die von... */
53 #pragma warning( disable : 4251 )
54 #endif
55 //---------------------------------------------------------------------------
69 {
70 protected:
71 //============== Attribute
72 //-----------------------------------------------------------------------
82 unsigned long m_ulDatabaseID;
83 //-----------------------------------------------------------------------
93 std::list<Reference *> m_odRefList;
94 //-----------------------------------------------------------------------
104 std::list<Reference *>::iterator m_odRefListIterator;
105 //-----------------------------------------------------------------------
106
107 public:
108 //============== Konstruktoren
109 //-----------------------------------------------------------------------
120 //-----------------------------------------------------------------------
132 OndemandLot( Base & rBase );
133 //-----------------------------------------------------------------------
143 virtual ~OndemandLot();
144 //-----------------------------------------------------------------------
145
146 private:
147 //============== Konstruktoren
148 //-----------------------------------------------------------------------
159 //-----------------------------------------------------------------------
160
161 public:
162 //============== Methoden
163 //-----------------------------------------------------------------------
184 virtual int setBase( Base * pBase ) override;
185 //-----------------------------------------------------------------------
200 virtual Base * getBase() const override;
201 //-----------------------------------------------------------------------
232 virtual int insertPers( BasePersistent * pNewObj );
233 //-----------------------------------------------------------------------
264 virtual int insertPers( std::shared_ptr<BasePersistent> spNewObj );
265 //-----------------------------------------------------------------------
297 virtual int insertPersBefore( BasePersistent * pNewObj,
298 const BasePersistent * pObject );
299 //-----------------------------------------------------------------------
329 virtual int appendPers( BasePersistent * pNewObj );
330 //-----------------------------------------------------------------------
364 virtual int removePers( BasePersistent * pObject );
365 //-----------------------------------------------------------------------
410 virtual int getPers( BasePersistent *& prRetVal, EnSeekMode eMode );
411 //-----------------------------------------------------------------------
445 virtual int getPers( std::shared_ptr<BasePersistent> & rRetVal, EnSeekMode eMode );
446 //-----------------------------------------------------------------------
497 virtual int getPers( glo::ObjID & rObjID, BasePersistent *& prRetVal, EnSeekMode eMode );
498 //-----------------------------------------------------------------------
538 virtual int getPers( glo::ObjID & rObjID, std::shared_ptr<BasePersistent> & rRetVal, EnSeekMode eMode );
539 //-----------------------------------------------------------------------
573 virtual int getObjID( ObjID & rObjID, EnSeekMode eMode );
574 //-----------------------------------------------------------------------
607 virtual int insertOndemand( const Reference & rNewOndemand );
608 //-----------------------------------------------------------------------
642 virtual int insertOndemandBefore( const Reference & rNewOndemand,
643 const Reference & rOndemand );
644 //-----------------------------------------------------------------------
675 virtual int appendOndemand( const Reference & rNewOndemand );
676 //-----------------------------------------------------------------------
712 virtual int removeOndemand( const Reference & rOndemand );
713 //-----------------------------------------------------------------------
715
728 virtual bool inLot( const ObjID & object ) const;
729 virtual bool inLot( const BasePersistent & object ) const;
730 virtual bool inLot( const std::shared_ptr<BasePersistent> object ) const;
731 virtual bool inLot( const Reference & object ) const;
733 //-----------------------------------------------------------------------
754 virtual int getPersistent( BasePersistent *& prRetVal, const ObjID & rObjID );
755 //-----------------------------------------------------------------------
771 virtual int setCurrentObject( const ObjID & rObjID );
772 //-----------------------------------------------------------------------
786 virtual int setPosition( std::size_t nPosition );
787 //-----------------------------------------------------------------------
801 virtual std::size_t size() const;
802 //-----------------------------------------------------------------------
814 virtual void clear();
815 //-----------------------------------------------------------------------
831 std::list< Reference * > & List();
832 //-----------------------------------------------------------------------
867 virtual Reference * getOndemand( EnSeekMode eMode ) = 0;
868 //-----------------------------------------------------------------------
869
870 private:
871 //============== Operatoren
872 //-----------------------------------------------------------------------
882 inline OndemandLot & operator= ( const OndemandLot & );
883 //-----------------------------------------------------------------------
884 };
885 //---------------------------------------------------------------------------
886 #ifdef _MSC_VER
887 /* 'Bezeichner': Klasse 'Typ' benötigt eine DLL-Schnittstelle, die von... */
888 #pragma warning( default : 4251 )
889 #endif
890 //---------------------------------------------------------------------------
891} // namespace glo
892#endif
Header for BaseLot
For each library, here 'GlobalObjects' there is a type file.
#define __glo_export_dll
Definition GloTypes.h:70
Definition GloBase.h:263
Is the base class of pointer and on-demand sets or pointer and on-demand lists.
Definition GloBaseLot.h:73
Abstract base class for Persistent and the generic GenericPersistent.
Definition GloBasePersistent.h:124
An object ID consists of the class ID, a database ID and the actual unique object number (all unsigne...
Definition GloObjID.h:84
Is the abstract base class of on-demand sets and lists.
Definition GloOndemandLot.h:69
virtual bool inLot(const BasePersistent &object) const
Checks if passed object is referenced in the container.
virtual bool inLot(const Reference &object) const
Checks if passed object is referenced in the container.
virtual int appendPers(BasePersistent *pNewObj)
OndemandLot(Base &rBase)
virtual int getPers(std::shared_ptr< BasePersistent > &rRetVal, EnSeekMode eMode)
virtual int insertPers(std::shared_ptr< BasePersistent > spNewObj)
virtual int removePers(BasePersistent *pObject)
virtual int getObjID(ObjID &rObjID, EnSeekMode eMode)
virtual std::size_t size() const
virtual int insertPers(BasePersistent *pNewObj)
std::list< Reference * > & List()
virtual Reference * getOndemand(EnSeekMode eMode)=0
virtual int getPers(BasePersistent *&prRetVal, EnSeekMode eMode)
virtual int insertOndemand(const Reference &rNewOndemand)
virtual int getPers(glo::ObjID &rObjID, BasePersistent *&prRetVal, EnSeekMode eMode)
virtual bool inLot(const std::shared_ptr< BasePersistent > object) const
Checks if passed object is referenced in the container.
virtual int insertOndemandBefore(const Reference &rNewOndemand, const Reference &rOndemand)
unsigned long m_ulDatabaseID
Definition GloOndemandLot.h:82
virtual int getPers(glo::ObjID &rObjID, std::shared_ptr< BasePersistent > &rRetVal, EnSeekMode eMode)
virtual void clear()
virtual Base * getBase() const override
OndemandLot(const OndemandLot &)
std::list< Reference * > m_odRefList
Definition GloOndemandLot.h:93
virtual int appendOndemand(const Reference &rNewOndemand)
virtual int removeOndemand(const Reference &rOndemand)
virtual bool inLot(const ObjID &object) const
Checks if passed object is referenced in the container.
virtual int insertPersBefore(BasePersistent *pNewObj, const BasePersistent *pObject)
virtual int setBase(Base *pBase) override
std::list< Reference * >::iterator m_odRefListIterator
Definition GloOndemandLot.h:104
virtual int getPersistent(BasePersistent *&prRetVal, const ObjID &rObjID)
virtual ~OndemandLot()
virtual int setPosition(std::size_t nPosition)
virtual int setCurrentObject(const ObjID &rObjID)
The base class of a reference attribute from persistent objects to other persistent objects in the da...
Definition GloReference.h:72
Definition GloAbstractBaseLot.h:49
EnSeekMode
Definition GloTypes.h:173