GlobalObjects
Lade ...
Suche ...
Keine Treffer
GloBaseAllSet.h
gehe zur Dokumentation dieser Datei
1#ifndef INC_GLOBASEALLSET_H
2#define INC_GLOBASEALLSET_H
3//-----------------------------------------------------------------------------
43//-----------------------------------------------------------------------------
44#include <list>
45#include "GloTypes.h"
46#include "GloAbstractBaseLot.h"
47#include "GloPersistent.h"
48//-----------------------------------------------------------------------------
49namespace glo
50{
51 //---------------------------------------------------------------------------
52 /* Forwards */
53 class AllSetIndexInfo;
54 //---------------------------------------------------------------------------
55 /* 'Bezeichner': Klasse 'Typ' benötigt eine DLL-Schnittstelle, die von... */
56 #ifdef _MSC_VER
57 #pragma warning( disable : 4251 )
58 #endif
59 //---------------------------------------------------------------------------
87 {
88 //-----------------------------------------------------------------------
89 // >>>>>>>>>>>>>>>>>>> IndexNameClassIdTuple >>>>>>>>>>>>>>>>>>>>>>>>>>>>
90 //-----------------------------------------------------------------------
104 {
105 //---------------------------------------------------------------------
117 unsigned long m_ulIndexClassID;
118 //---------------------------------------------------------------------
131 std::string m_sIndexName;
132 //---------------------------------------------------------------------
143 //---------------------------------------------------------------------
160 IndexNameClassIdTuple( unsigned long ulIndexClassID, const std::string & rsIndexName );
161 //---------------------------------------------------------------------
175 IndexNameClassIdTuple( const IndexNameClassIdTuple & rIndexNameClassIdTuple );
176 //---------------------------------------------------------------------
188 IndexNameClassIdTuple & operator= ( const IndexNameClassIdTuple & rIndexNameClassIdTuple );
189 //-----------------------------------------------------------------------
200 bool operator== ( const IndexNameClassIdTuple & rIndexNameClassIdTuple ) const;
201 bool operator!= ( const IndexNameClassIdTuple & rIndexNameClassIdTuple ) const;
203 //-----------------------------------------------------------------------
204 };
205 //-----------------------------------------------------------------------
206 // <<<<<<<<<<<<<<<<<<< IndexNameClassIdTuple <<<<<<<<<<<<<<<<<<<<<<<<<<<<
207 //-----------------------------------------------------------------------
208
209 private:
210 //============== Friends
211 //-----------------------------------------------------------------------
212 friend class Base;
213 friend class PrivateBase;
214 //-----------------------------------------------------------------------
215
216 //============== Attribute
217 //-----------------------------------------------------------------------
228 //-----------------------------------------------------------------------
239 //-----------------------------------------------------------------------
251 unsigned long m_ulClassID;
252 //-----------------------------------------------------------------------
271 //-----------------------------------------------------------------------
287 //-----------------------------------------------------------------------
301 std::vector<AllSetIndexInfo> m_AvailableIndices;
302 //-----------------------------------------------------------------------
319 //-----------------------------------------------------------------------
320
321 public:
322 //============== Konstruktoren
323 //-----------------------------------------------------------------------
334 //-----------------------------------------------------------------------
348 BaseAllSet( Base & rBase );
349 //-----------------------------------------------------------------------
369 BaseAllSet( Base & rBase, unsigned long ulClassID, bool bWithSubClasses = true );
370 //-----------------------------------------------------------------------
392 BaseAllSet( Base & rBase, unsigned long ulClassID, const std::string & rsFullIndexName );
393 //-----------------------------------------------------------------------
404 virtual ~BaseAllSet();
405 //-----------------------------------------------------------------------
406
407 private:
408 //============== Konstruktoren
409 //-----------------------------------------------------------------------
420 //-----------------------------------------------------------------------
421
422 private:
423 //============== Methoden
424 //-----------------------------------------------------------------------
447 int init( Base & rBase );
448 //-----------------------------------------------------------------------
471 const std::string & rsIndexName );
472 //-----------------------------------------------------------------------
496 BaseAllSet::IndexNameClassIdTuple getIndexNameClassIdTuple( const std::string & rsFullIndexName );
497 //-----------------------------------------------------------------------
498
499 public:
500 //============== Methoden
501 //-----------------------------------------------------------------------
517 virtual int getTypeAsString ( std::string & rsTypeName ) override;
518 //-----------------------------------------------------------------------
534 virtual std::size_t size() const override;
535 //-----------------------------------------------------------------------
563 virtual int setBase( Base * pBase ) override;
564 //-----------------------------------------------------------------------
586 virtual int setBase( Base & rBase );
587 //-----------------------------------------------------------------------
602 virtual Base * getBase() const override;
603 //-----------------------------------------------------------------------
620 int open();
621 //-----------------------------------------------------------------------
635 int close();
636 //-----------------------------------------------------------------------
648 unsigned long getClassID() const;
649 //-----------------------------------------------------------------------
685 int getObjID( glo::ObjID & rObjID, EnSeekMode eMode );
686 //-----------------------------------------------------------------------
714 int setFullIndexName( const std::string & rsFullIndexName );
715 //-----------------------------------------------------------------------
735 int setIndex( const BaseAllSet::IndexNameClassIdTuple & rIndexNameClassIdTuple );
736 //-----------------------------------------------------------------------
752 std::string getFullIndexName() const;
753 //-----------------------------------------------------------------------
768 std::string getIndexName() const;
769 //-----------------------------------------------------------------------
784 unsigned long getIndexClassID() const;
785 //-----------------------------------------------------------------------
803 //-----------------------------------------------------------------------
820 std::vector<AllSetIndexInfo> getAvailableIndices();
821 //-----------------------------------------------------------------------
835 bool isIndexAvailable( const BaseAllSet::IndexNameClassIdTuple & rIndexNameClassIdTuple );
836 //-----------------------------------------------------------------------
855 bool isIndexAvailable( unsigned long ulClassID, const std::string & rsIndexName );
856 //-----------------------------------------------------------------------
881 bool isIndexAvailable( const std::string & rsFullIndexName );
882 //-----------------------------------------------------------------------
903 int setIndexFilter( const std::string & rsIndexFilter );
904 //-----------------------------------------------------------------------
939 int setIndexFilter( const std::string & rsIndexFilter,
940 EnComparisionOp eComparisionOp );
941 //-----------------------------------------------------------------------
973 int setIndexFilter( const std::string & rsRangeStartIndexFilter,
974 const std::string & rsRangeEndIndexFilter );
975 //-----------------------------------------------------------------------
988 //-----------------------------------------------------------------------
1018 int getIndexedObjIds( std::vector< glo::ObjID > & rObjIDContainer,
1019 const std::string & rsIndexSearchValue,
1020 EnQueryType eQuerryType );
1021 //-----------------------------------------------------------------------
1057 int getIndexedObjIds( std::vector< glo::ObjID > & rObjIDContainer,
1058 const std::string & rsFullIndexName,
1059 const std::string & rsIndexSearchValue,
1060 EnQueryType eQuerryType );
1061 //-----------------------------------------------------------------------
1098 int getIndexedObjIds( std::vector< glo::ObjID > & rObjIDContainer,
1099 const std::string & rsIndexName,
1100 unsigned long ulIndexClassID,
1101 const std::string & rsIndexSearchValue,
1102 EnQueryType eQuerryType );
1103 //-----------------------------------------------------------------------
1141 int getIndexedObjIds( std::vector< glo::ObjID > & rObjIDContainer,
1142 const std::string & rsIndexSearchValue,
1143 EnComparisionOp eComparisionOp );
1144 //-----------------------------------------------------------------------
1188 int getIndexedObjIds( std::vector< glo::ObjID > & rObjIDContainer,
1189 const std::string & rsFullIndexName,
1190 const std::string & rsIndexSearchValue,
1191 EnComparisionOp eComparisionOp );
1192 //-----------------------------------------------------------------------
1237 int getIndexedObjIds( std::vector< glo::ObjID > & rObjIDContainer,
1238 const std::string & rsIndexName,
1239 unsigned long ulIndexClassID,
1240 const std::string & rsIndexSearchValue,
1241 EnComparisionOp eComparisionOp );
1242 //-----------------------------------------------------------------------
1277 int getIndexedObjIds( std::vector< glo::ObjID > & rObjIDContainer,
1278 const std::string & rsRangeStartIndexSearchValue,
1279 const std::string & rsRangeEndIndexSearchValue );
1280 //-----------------------------------------------------------------------
1320 int getIndexedObjIds( std::vector< glo::ObjID > & rObjIDContainer,
1321 const std::string & rsFullIndexName,
1322 const std::string & rsRangeStartIndexSearchValue,
1323 const std::string & rsRangeEndIndexSearchValue );
1324 //-----------------------------------------------------------------------
1369 int getIndexedObjIds( std::vector< glo::ObjID > & rObjIDContainer,
1370 const std::string & rsIndexName,
1371 unsigned long ulIndexClassID,
1372 const std::string & rsRangeStartIndexSearchValue,
1373 const std::string & rsRangeEndIndexSearchValue );
1374 //-----------------------------------------------------------------------
1398 virtual bool inLot( const glo::ObjID & rObjID ) const override;
1399 //-----------------------------------------------------------------------
1421 virtual bool inSet( const glo::ObjID & rObjID ) const;
1422 //-----------------------------------------------------------------------
1438 virtual int setCurrentObject( const glo::ObjID & rObjID ) override;
1439 //-----------------------------------------------------------------------
1453 virtual int setPosition( std::size_t nPosition ) override;
1454 //-----------------------------------------------------------------------
1455 //-----------------------------------------------------------------------
1456 // doxygen -> warning: unable to resolve reference to 'PAGE_GLO_WATCH_NOTIFY' for \ref command
1457 // is a reference to the GlobalObjects documentation.
1458 //-----------------------------------------------------------------------
1511 virtual int setWatch( TdWatchNotifyMode ulWatchMode,
1512 CallBack * pCallBack = 0 ) = 0;
1513 //-----------------------------------------------------------------------
1557 virtual int unsetWatch( TdWatchNotifyMode ulWatchMode,
1558 CallBack * pCallBack = 0 ) = 0;
1559 //-----------------------------------------------------------------------
1578 void setReadWithSubClasses( bool bWithSubClasses );
1579 //-----------------------------------------------------------------------
1594 //-----------------------------------------------------------------------
1595
1596 protected:
1597 //============== Methoden
1598 //-----------------------------------------------------------------------
1616 virtual void setClassID( unsigned long ulClassID );
1617 //-----------------------------------------------------------------------
1628 void setClassIDFromTemplate( unsigned long ulClassID );
1629 //-----------------------------------------------------------------------
1645 void setAllSetOpen( bool bOpen );
1646 //-----------------------------------------------------------------------
1661 //-----------------------------------------------------------------------
1662
1663 private:
1664 //============== Operatoren
1665 //-----------------------------------------------------------------------
1675 inline BaseAllSet & operator= ( const BaseAllSet & );
1676 //-----------------------------------------------------------------------
1677 };
1678 //---------------------------------------------------------------------------
1679 /* 'Bezeichner': Klasse 'Typ' benötigt eine DLL-Schnittstelle, die von... */
1680 #ifdef _MSC_VER
1681 #pragma warning( default : 4251 )
1682 #endif
1683 //---------------------------------------------------------------------------
1684} // namespace glo
1685#endif
Header für AbstractBaseLot
Header für Persistent
Für jede Bibliothek, hier 'GlobalObjects' gibt es eine Typen-Datei.
#define __glo_export_dll
Definition GloTypes.h:70
Die Basisklasse für Container mit persistenten Objekten.
Definition GloAbstractBaseLot.h:69
Ist die Basisklasse von Template-AllSets und dem generischen AllSet.
Definition GloBaseAllSet.h:87
unsigned long m_ulClassID
Definition GloBaseAllSet.h:251
int getIndexedObjIds(std::vector< glo::ObjID > &rObjIDContainer, const std::string &rsFullIndexName, const std::string &rsIndexSearchValue, EnQueryType eQuerryType)
int setAvailableIndices()
int getIndexedObjIds(std::vector< glo::ObjID > &rObjIDContainer, const std::string &rsIndexSearchValue, EnComparisionOp eComparisionOp)
std::vector< AllSetIndexInfo > getAvailableIndices()
std::vector< AllSetIndexInfo > m_AvailableIndices
Definition GloBaseAllSet.h:301
int getObjID(glo::ObjID &rObjID, EnSeekMode eMode)
BaseAllSet::IndexNameClassIdTuple getIndexNameClassIdTuple(unsigned long ulClassID, const std::string &rsIndexName)
bool m_AvailableIndicesRead
Definition GloBaseAllSet.h:318
std::string getFullIndexName() const
bool m_bWithSubClasses
Definition GloBaseAllSet.h:270
bool isIndexAvailable(const BaseAllSet::IndexNameClassIdTuple &rIndexNameClassIdTuple)
unsigned long getIndexClassID() const
std::string getIndexName() const
int setIndexFilter(const std::string &rsRangeStartIndexFilter, const std::string &rsRangeEndIndexFilter)
BaseAllSet(Base &rBase)
void setClassIDFromTemplate(unsigned long ulClassID)
bool isIndexAvailable(const std::string &rsFullIndexName)
int getIndexedObjIds(std::vector< glo::ObjID > &rObjIDContainer, const std::string &rsIndexSearchValue, EnQueryType eQuerryType)
void setReadWithSubClasses(bool bWithSubClasses)
int getIndexedObjIds(std::vector< glo::ObjID > &rObjIDContainer, const std::string &rsIndexName, unsigned long ulIndexClassID, const std::string &rsIndexSearchValue, EnQueryType eQuerryType)
bool readWithSubClasses() const
virtual ~BaseAllSet()
BaseAllSet(const BaseAllSet &)
int getIndexedObjIds(std::vector< glo::ObjID > &rObjIDContainer, const std::string &rsRangeStartIndexSearchValue, const std::string &rsRangeEndIndexSearchValue)
virtual int getTypeAsString(std::string &rsTypeName) override
int getIndexedObjIds(std::vector< glo::ObjID > &rObjIDContainer, const std::string &rsFullIndexName, const std::string &rsRangeStartIndexSearchValue, const std::string &rsRangeEndIndexSearchValue)
int getIndexedObjIds(std::vector< glo::ObjID > &rObjIDContainer, const std::string &rsIndexName, unsigned long ulIndexClassID, const std::string &rsRangeStartIndexSearchValue, const std::string &rsRangeEndIndexSearchValue)
int getIndexedObjIds(std::vector< glo::ObjID > &rObjIDContainer, const std::string &rsFullIndexName, const std::string &rsIndexSearchValue, EnComparisionOp eComparisionOp)
IndexNameClassIdTuple m_IndexNameWithClassID
Definition GloBaseAllSet.h:286
void setAllSetOpen(bool bOpen)
virtual int setBase(Base &rBase)
virtual void setClassID(unsigned long ulClassID)
int setIndexFilter(const std::string &rsIndexFilter, EnComparisionOp eComparisionOp)
std::size_t getAvailableIndicesSize()
virtual int unsetWatch(TdWatchNotifyMode ulWatchMode, CallBack *pCallBack=0)=0
virtual Base * getBase() const override
int setIndex(const BaseAllSet::IndexNameClassIdTuple &rIndexNameClassIdTuple)
BaseAllSet(Base &rBase, unsigned long ulClassID, bool bWithSubClasses=true)
BaseAllSet(Base &rBase, unsigned long ulClassID, const std::string &rsFullIndexName)
int removeIndexFilter()
virtual bool inSet(const glo::ObjID &rObjID) const
BaseAllSet::IndexNameClassIdTuple getIndexNameClassIdTuple(const std::string &rsFullIndexName)
virtual int setBase(Base *pBase) override
bool m_bAllSetOpen
Definition GloBaseAllSet.h:238
bool isIndexAvailable(unsigned long ulClassID, const std::string &rsIndexName)
Base * m_pBase
Definition GloBaseAllSet.h:227
int getIndexedObjIds(std::vector< glo::ObjID > &rObjIDContainer, const std::string &rsIndexName, unsigned long ulIndexClassID, const std::string &rsIndexSearchValue, EnComparisionOp eComparisionOp)
unsigned long getClassID() const
virtual std::size_t size() const override
virtual int setCurrentObject(const glo::ObjID &rObjID) override
int init(Base &rBase)
int setIndexFilter(const std::string &rsIndexFilter)
int setFullIndexName(const std::string &rsFullIndexName)
virtual bool inLot(const glo::ObjID &rObjID) const override
virtual int setPosition(std::size_t nPosition) override
virtual int setWatch(TdWatchNotifyMode ulWatchMode, CallBack *pCallBack=0)=0
Definition GloBase.h:263
Oberklasse für die Klassen, welche mit einer Base 'verbunden' sind.
Definition GloCallBack.h:81
Ein Objekt-ID besteht aus der Klassen-ID, einer Datenbank-ID und der eigentlichen eindeutigen ObjektZ...
Definition GloObjID.h:84
In dieser Klasse werden Funktionen für Base gekapselt. Für den Fall, dass sich Änderungen in der Funk...
Definition GloPrivateBase.h:99
Definition GloAbstractBaseLot.h:49
EnComparisionOp
Definition GloTypes.h:1567
EnSeekMode
Definition GloTypes.h:173
EnQueryType
Definition GloTypes.h:1164
unsigned long TdWatchNotifyMode
Definition GloTypes.h:558
Tuple von IndexName und die Klassen-ID der indizierten Klasse.
Definition GloBaseAllSet.h:104
std::string m_sIndexName
Definition GloBaseAllSet.h:131
unsigned long m_ulIndexClassID
Definition GloBaseAllSet.h:117
IndexNameClassIdTuple(unsigned long ulIndexClassID, const std::string &rsIndexName)
IndexNameClassIdTuple(const IndexNameClassIdTuple &rIndexNameClassIdTuple)