GlobalObjects
Lade ...
Suche ...
Keine Treffer
GloPrivateBase.h
gehe zur Dokumentation dieser Datei
1#ifndef INC_GLOPRIVATEBASE_H
2#define INC_GLOPRIVATEBASE_H
3//-----------------------------------------------------------------------------
43//-----------------------------------------------------------------------------
44#ifdef _MSC_VER
45 /* 'Bezeichner': Klasse 'Typ' benötigt eine DLL-Schnittstelle, die von... */
46 #pragma warning( disable : 4251 )
47#endif
48//-----------------------------------------------------------------------------
49#include <string>
50#include <vector>
51#include <map>
52#include <list>
53#include "GloTypes.h"
54#include "GloOrderMsg.h"
56#include "GloClientInfo.h"
57#include "GloTOndemand.h"
58//-----------------------------------------------------------------------------
59namespace glo
60{
61 //---------------------------------------------------------------------------
62 /* Forwards */
63 class BasePersistent;
64 class BaseLot;
65 class ClassInfo;
66 class ClassInfoAttribute;
67 class Communicator;
68 class GenPersObjectSpy;
69 class LimitRecord;
70 class ObjCreator;
71 class Persistent;
72 class PersObjectSpy;
73 class ObjectMaker;
74 class IndexQueryBaseStruct;
75 class ObjIDRecordTuple;
76 class IDRecordAttribute;
77 //struct ClientInfo;
78 //---------------------------------------------------------------------------
94 #ifdef _GLO_TEST
95 class __glo_export_dll PrivateBase
96 #else
98 #endif
99 {
100 private:
101 //============== Friends
102 //-----------------------------------------------------------------------
103 friend class Base;
104 friend class ObjectMaker;
106 //-----------------------------------------------------------------------
107
108 private:
109 //============== Attribute
110 //-----------------------------------------------------------------------
121 //-----------------------------------------------------------------------
140 //-----------------------------------------------------------------------
156 std::string m_sServerName;
157 //-----------------------------------------------------------------------
168 std::string m_sBaseName;
169 //-----------------------------------------------------------------------
181 //-----------------------------------------------------------------------
191 unsigned long m_ulBaseID;
192 //-----------------------------------------------------------------------
204 //-----------------------------------------------------------------------
218 unsigned int m_uiPort;
219 //-----------------------------------------------------------------------
235 std::string m_sSchemaPath;
236 //-----------------------------------------------------------------------
252 std::string m_sKnownSchemes;
253 //-----------------------------------------------------------------------
266 //-----------------------------------------------------------------------
279 //-----------------------------------------------------------------------
292 //-----------------------------------------------------------------------
305 //-----------------------------------------------------------------------
320 //-----------------------------------------------------------------------
335 //-----------------------------------------------------------------------
349 std::string m_strClientName;
350 //-----------------------------------------------------------------------
380 std::vector< std::shared_ptr< Persistent > > m_ObjectsToActivate;
381 //-----------------------------------------------------------------------
382
383 public:
384 //============== Konstruktoren
385 //-----------------------------------------------------------------------
397 //-----------------------------------------------------------------------
408 PrivateBase( const std::string & rstrClientName );
409 //-----------------------------------------------------------------------
420 PrivateBase( const std::string & rstrClientName,
421 const std::string & rstrSchemaPath,
422 const std::string & rstrBaseName );
423 //-----------------------------------------------------------------------
434 PrivateBase( const std::string & rstrClientName,
435 ObjCreator & rObjCreator );
436 //-----------------------------------------------------------------------
447 PrivateBase( const std::string & rstrServerName,
448 const std::string & rstrClientName );
449 //-----------------------------------------------------------------------
460 PrivateBase( const std::string & rstrServerName,
461 const std::string & rstrClientName,
462 int iTimeOutSec,
463 unsigned int uiPort,
464 const std::string & rstrSchemaPath,
465 const std::string & rstrKnownSchemes );
466 //-----------------------------------------------------------------------
477 PrivateBase( const std::string & rstrServerName,
478 const std::string & rstrClientName,
479 ObjCreator & rObjCreator);
480 //-----------------------------------------------------------------------
491 virtual ~PrivateBase ();
492 //-----------------------------------------------------------------------
493
494 private:
495 //============== Konstruktoren
496 //-----------------------------------------------------------------------
507 //-----------------------------------------------------------------------
508
509 #ifdef _GLO_TEST
510 public:
511 #else
512 protected:
513 #endif
514 //============== Get- und Set-Methoden
515 //-----------------------------------------------------------------------
527 int setDbIniName( const std::string & rstrDbIniName );
528 //-----------------------------------------------------------------------
540 std::string getDbIniName() const;
541 //-----------------------------------------------------------------------
552 int getDefaultLimits( std::vector< LimitRecord > *& prRetValVector ) const;
553 //-----------------------------------------------------------------------
564 std::string getServerName() const;
565 //-----------------------------------------------------------------------
576 int getPort( unsigned int & ruiPort );
577 //-----------------------------------------------------------------------
588 int getTimeOutSec( int & riTimeOutSec );
589 //-----------------------------------------------------------------------
600 int setClientName( const std::string & rstrClientName );
601 //-----------------------------------------------------------------------
612 std::string getClientName() const;
613 //-----------------------------------------------------------------------
625 std::vector< std::shared_ptr< Persistent > > * getObjectsToActivat();
626 //-----------------------------------------------------------------------
637 int setSchemaPath( const std::string & rstrSchemaPath );
638 //-----------------------------------------------------------------------
649 int getSchemaPath( std::string & rstrRetVal );
650 //-----------------------------------------------------------------------
661 int getSchemaNameWithPath( std::string & rstrRetVal );
662 //-----------------------------------------------------------------------
673 int setKnownSchemes( const std::string & rstrKnownSchemes );
674 //-----------------------------------------------------------------------
685 int getKnownSchemes( std::vector< std::string > & rRetVal );
686 //-----------------------------------------------------------------------
697 int setBaseName( const std::string & rstrBaseName );
698 //-----------------------------------------------------------------------
709 std::string getBaseName() const;
710 //-----------------------------------------------------------------------
721 unsigned int getCommunicatorID() const;
722 //-----------------------------------------------------------------------
723 #ifdef _GLO_TEST
733 Communicator * getCommunicator();
734 #endif
735 //-----------------------------------------------------------------------
747 //-----------------------------------------------------------------------
748
749 //============== Verbindungs-Methoden
750 //-----------------------------------------------------------------------
761 int connect( CallBack * pServerCrashNotificationCallBack = nullptr );
762 //-----------------------------------------------------------------------
773 int reconnect( CallBack * pServerCrashNotificationCallBack = nullptr );
774 //-----------------------------------------------------------------------
787 //-----------------------------------------------------------------------
798 bool isConnected() const;
799 //-----------------------------------------------------------------------
810 int open( const std::string & rstrBaseName, CallBack * pProgressNotificationCallBack );
811 //-----------------------------------------------------------------------
822 int close( CallBack * pProgressNotificationCallBack );
823 //-----------------------------------------------------------------------
834 bool isOpen() const;
835 //-----------------------------------------------------------------------
846 unsigned long getBaseID() const;
847 //-----------------------------------------------------------------------
858 int openBase( CallBack * pProgressNotificationCallBack,
859 CallBack * pServerCrashNotificationCallBack );
860 //-----------------------------------------------------------------------
871 int openBaseComfortably( CallBack * pProgressNotificationCallBack,
872 CallBack * pServerCrashNotificationCallBack );
873 //-----------------------------------------------------------------------
884 int closeBase( CallBack * pProgressNotificationCallBack );
885 //-----------------------------------------------------------------------
886
887 //============== Reparatur-Methoden
888 //-----------------------------------------------------------------------
899 int reindexBase( const std::string & rstrBaseName,
900 CallBack * pProgressNotificationCallBack );
901 //-----------------------------------------------------------------------
912 int reindexBase( CallBack * pProgressNotificationCallBack );
913 //-----------------------------------------------------------------------
924 int compressBase( const std::string & rstrBaseName,
925 CallBack * pProgressNotificationCallBack );
926 //-----------------------------------------------------------------------
937 int compressBase( CallBack * pProgressNotificationCallBack );
938 //-----------------------------------------------------------------------
949 int repairBase( const std::string & rstrBaseName,
950 CallBack * pProgressNotificationCallBack );
951 //-----------------------------------------------------------------------
962 int repairBase( CallBack * pProgressNotificationCallBack );
963 //-----------------------------------------------------------------------
1007 int doWithBase( const std::string & rstrBaseName,
1008 CallBack * pCallBack,
1009 OrderMsg::EnOrderType eRepairType );
1010 //-----------------------------------------------------------------------
1011
1012 //============== Informatios-Methoden
1013 //-----------------------------------------------------------------------
1024 int getAllBases( std::vector< std::string > *& prRetValVector ) const;
1025 //-----------------------------------------------------------------------
1036 int getBaseCount( std::vector<std::string>::size_type & rBaseCount) const;
1037 //-----------------------------------------------------------------------
1048 int getClassInfo( ClassInfo *& prClassInfo,
1049 unsigned long ulClassID,
1050 const std::string & rstrBaseName ) const;
1051 //-----------------------------------------------------------------------
1062 int getClassInfo( ClassInfo *& prClassInfo,
1063 const std::string & rstrClassName,
1064 const std::string & rstrBaseName ) const;
1065 //-----------------------------------------------------------------------
1076 int getSuperClassInfos( std::map< unsigned long, ClassInfo *, std::less<unsigned long> > *& prSuperClassInfoMap,
1077 unsigned long ulClassID,
1078 const std::string & rstrBaseName );
1079 //-----------------------------------------------------------------------
1090 int getSubClassInfos( std::map< unsigned long, ClassInfo *, std::less<unsigned long> > *& prSubClassInfoMap,
1091 unsigned long ulClassID,
1092 const std::string & rstrBaseName );
1093 //-----------------------------------------------------------------------
1104 int getAllSuperClassInfos( std::map< unsigned long, ClassInfo *, std::less<unsigned long> > *& prSuperClassInfoMap,
1105 unsigned long ulClassID,
1106 const std::string & rstrBaseName );
1107 //-----------------------------------------------------------------------
1118 int getAllSubClassInfos( std::map< unsigned long, ClassInfo *, std::less<unsigned long> > *& prSubClassInfoMap,
1119 unsigned long ulClassID,
1120 const std::string & rstrBaseName );
1121 //-----------------------------------------------------------------------
1132 int getAllClassInfosFromBase( std::map< unsigned long, ClassInfo *, std::less<unsigned long> > *& prAllClassInfoMap,
1133 const std::string & rstrBaseName);
1134 //-----------------------------------------------------------------------
1145 int isKnownClassID( bool & rbRetVal, unsigned long ulClassID, const std::string & rstrBaseName ) const;
1146 //-----------------------------------------------------------------------
1157 int isSuperClassFrom( bool & rbRetVal,
1158 unsigned long ulClassIDSuperClass,
1159 unsigned long ulClassIDSubClass,
1160 const std::string & rstrBaseName ) const;
1161 //-----------------------------------------------------------------------
1172 int getLimits( LimitRecord *& prLimitRecord,
1173 const ClassInfoAttribute::Type & rClassInfoAttributeType ) const;
1174 //-----------------------------------------------------------------------
1185 int getAllLoggedClients( std::vector< ClientInfo > & rClientInfoVector,
1186 const std::string & rstrBaseName ) const;
1187 //-----------------------------------------------------------------------
1188
1189 //============== Record-Methoden
1190 //-----------------------------------------------------------------------
1201 int getRecord( Record *& prRecord,
1202 const ObjID & rObjID,
1203 unsigned long ulClassID );
1204 //-----------------------------------------------------------------------
1205
1206 //============== Objekt-Methoden
1207 //-----------------------------------------------------------------------
1219 //-----------------------------------------------------------------------
1230 int getAnObject( BasePersistent *& prObject,
1231 const ObjID & rObjID,
1232 bool bGeneric = false );
1233 //-----------------------------------------------------------------------
1245 //-----------------------------------------------------------------------
1256 int isStoredObject( bool & rbRetVal, BasePersistent * pObject );
1257 //-----------------------------------------------------------------------
1258
1259 //============== AllSet-Methoden
1260 //-----------------------------------------------------------------------
1271 int openAllSet( BaseAllSet * pAllSet );
1272 //-----------------------------------------------------------------------
1283 int closeAllSet( BaseAllSet * pAllSet );
1284 //-----------------------------------------------------------------------
1295 int objIDInAllSet( const ObjID & rObjID,
1296 const BaseAllSet & rAllSet );
1297 //-----------------------------------------------------------------------
1308 int setCurrentObjectInAllSet( const ObjID & rObjID,
1309 const BaseAllSet & rAllSet);
1310 //-----------------------------------------------------------------------
1321 int setPositionInAllSet( std::size_t nPosition,
1322 const BaseAllSet & rAllSet );
1323 //-----------------------------------------------------------------------
1335 const BaseAllSet & rAllSet,
1336 EnSeekMode eMode );
1337 //-----------------------------------------------------------------------
1349 BasePersistent *& prObject,
1350 const BaseAllSet & rAllSet,
1351 EnSeekMode eMode,
1352 bool bGeneric = false );
1353 //-----------------------------------------------------------------------
1364 int setIndexFilter( const BaseAllSet & rAllSet,
1365 const std::string & rsIndexFilter );
1366 //-----------------------------------------------------------------------
1377 int setIndexFilter( const BaseAllSet & rAllSet,
1378 const std::string & rsIndexFilter,
1379 EnComparisionOp eComparisionOp );
1380 //-----------------------------------------------------------------------
1391 int setIndexFilter( const BaseAllSet & rAllSet,
1392 const std::string & rsRangeStartIndexFilter,
1393 const std::string & rsRangeEndIndexFilter );
1394 //-----------------------------------------------------------------------
1405 int removeIndexFilter( const BaseAllSet & rAllSet );
1406 //-----------------------------------------------------------------------
1417 int getIndexedObjIdsFromAllSet( std::vector< glo::ObjID > & rObjIDContainer,
1418 const BaseAllSet & rAllSet,
1419 const std::string & rsIndexSearchValue,
1420 EnQueryType eQuerryType );
1421 //-----------------------------------------------------------------------
1432 int getIndexedObjIdsFromAllSet( std::vector< glo::ObjID > & rObjIDContainer,
1433 const BaseAllSet & rAllSet,
1434 const std::string & rsIndexName,
1435 unsigned long ulIndexClassID,
1436 const std::string & rsIndexSearchValue,
1437 EnQueryType eQuerryType );
1438 //-----------------------------------------------------------------------
1449 int getIndexedObjIdsFromAllSet( std::vector< glo::ObjID > & rObjIDContainer,
1450 const BaseAllSet & rAllSet,
1451 const std::string & rsIndexSearchValue,
1452 EnComparisionOp eComparisionOp );
1453 //-----------------------------------------------------------------------
1464 int getIndexedObjIdsFromAllSet( std::vector< glo::ObjID > & rObjIDContainer,
1465 const BaseAllSet & rAllSet,
1466 const std::string & rsIndexName,
1467 unsigned long ulIndexClassID,
1468 const std::string & rsIndexSearchValue,
1469 EnComparisionOp eComparisionOp );
1470 //-----------------------------------------------------------------------
1481 int getIndexedObjIdsFromAllSet( std::vector< glo::ObjID > & rObjIDContainer,
1482 const BaseAllSet & rAllSet,
1483 const std::string & rsRangeStartIndexSearchValue,
1484 const std::string & rsRangeEndIndexSearchValue );
1485 //-----------------------------------------------------------------------
1496 int getIndexedObjIdsFromAllSet( std::vector< glo::ObjID > & rObjIDContainer,
1497 const BaseAllSet & rAllSet,
1498 const std::string & rsIndexName,
1499 unsigned long ulIndexClassID,
1500 const std::string & rsRangeStartIndexSearchValue,
1501 const std::string & rsRangeEndIndexSearchValue );
1502 //-----------------------------------------------------------------------
1526 int processIndexQueryOrFilter( const IndexQueryBaseStruct & rIndexQueryBaseStruct,
1527 std::vector< ObjID > * pRetValObjIDVector );
1528 //-----------------------------------------------------------------------
1539 int getSizeFromAllSet( std::size_t & rnSize,
1540 const BaseAllSet & rAllSet );
1541 //-----------------------------------------------------------------------
1542
1543 //============== Auftrags-Hilfs-Methoden
1544 //-----------------------------------------------------------------------
1599 std::map< unsigned long, ClassInfo *, std::less<unsigned long> > *& prClassInfoMap,
1600 unsigned long ulClassID,
1601 const std::string & rstrBaseName );
1602 //-----------------------------------------------------------------------
1628 //-----------------------------------------------------------------------
1639 bool isInTransaction() const;
1640 //-----------------------------------------------------------------------
1652 //-----------------------------------------------------------------------
1682 BasePersistent * pObject,
1683 EnDeepMode eDeepMode );
1684 //-----------------------------------------------------------------------
1712 int deleteObjects( const std::vector< glo::ObjID > & rObjectIDs, EnDeepMode eDeepMode );
1713 //-----------------------------------------------------------------------
1736 int notifyAsWritten( const std::list< ObjID > & rObjIDList );
1737 //-----------------------------------------------------------------------
1792 const ObjID & rObjId,
1793 EnLockMode eLockMode,
1794 EnDeepMode eDeepMode );
1795 //-----------------------------------------------------------------------
1845 const BaseLot & rObjIdLot,
1846 EnLockMode eLockMode,
1847 EnDeepMode eDeepMode );
1848 //-----------------------------------------------------------------------
1896 std::list<ObjID> * pObjIDList,
1897 LockSpecification * pLockSpec );
1898 //-----------------------------------------------------------------------
1958 int switchWatchClass( OrderMsg::EnOrderType eSetWatchOrUnsetWatch,
1959 unsigned long ulClassID,
1960 TdWatchNotifyMode ulWatchMode,
1961 CallBack * pCallBack );
1962 //-----------------------------------------------------------------------
2020 int switchWatchObject( OrderMsg::EnOrderType eSetWatchOrUnsetWatch,
2021 const ObjID & rObjId,
2022 TdWatchNotifyMode ulWatchMode,
2023 EnDeepMode eDeepMode,
2024 CallBack * pCallBack );
2025 //-----------------------------------------------------------------------
2083 int switchWatchLot( OrderMsg::EnOrderType eSetWatchOrUnsetWatch,
2084 const BaseLot & rObjIdLot,
2085 TdWatchNotifyMode ulWatchMode,
2086 EnDeepMode eDeepMode,
2087 CallBack * pCallBack );
2088 //-----------------------------------------------------------------------
2127 std::list<ObjID> * pObjIDList,
2128 WatchSpecification * pWatchSpec );
2129 //-----------------------------------------------------------------------
2184 int switchWatchClient( OrderMsg::EnOrderType eSetWatchOrUnsetWatch,
2185 TdWatchNotifyMode ulWatchMode,
2186 CallBack * pCallBack ) const;
2187 //-----------------------------------------------------------------------
2237 int switchWatchIndex( OrderMsg::EnOrderType eSetWatchOrUnsetWatch,
2238 TdWatchNotifyMode ulWatchMode,
2239 CallBack * pCallBack ) const;
2240 //-----------------------------------------------------------------------
2251 int setWatchServer( CallBack * pCallBack ) const;
2252 //-----------------------------------------------------------------------
2253
2254 //============== Objekt-Datensatz-Hilfs-Methoden
2255 //-----------------------------------------------------------------------
2298 Record * pRecord,
2299 bool bShouldBeActivated,
2300 bool bGeneric );
2301 //-----------------------------------------------------------------------
2337 Record * pRecord,
2338 bool bShouldBeActivated );
2339 //-----------------------------------------------------------------------
2340 // doxygen -> warning: unable to resolve reference to 'GLO_REF_DEPENDENT' for \ref command
2341 // Is a reference to the GlobalObjects documentation.
2342 //-----------------------------------------------------------------------
2386 int getDependDataRecords( std::map< ObjID, Record *, std::less<ObjID> > & rRetValList,
2387 Record & rObjDataRecord,
2388 EnDeepMode eDeepMode,
2389 bool bWithRefRecords ) const;
2390 //-----------------------------------------------------------------------
2430 int insertDataRecord( std::map< ObjID, Record *, std::less<ObjID> > & rRetValList,
2431 IDRecordAttribute * pIDRecordAttribute,
2432 EnDeepMode eDeepMode,
2433 bool bWithRefRecords ) const;
2434 //-----------------------------------------------------------------------
2460 int insertDataRecord( std::map< ObjID, Record *, std::less<ObjID> > & rRetValList,
2461 ObjIDRecordTuple * pObjIDRecordTuple,
2462 EnDeepMode eDeepMode ) const;
2463 //-----------------------------------------------------------------------
2486 int insertDataRecord( std::map< ObjID, Record *, std::less<ObjID> > & rRetValList,
2487 ObjID ObjID,
2488 EnDeepMode eDeepMode ) const;
2489 //-----------------------------------------------------------------------
2542 int insertDataRecord( std::map< ObjID, Record *, std::less<ObjID> > & rRetValList,
2543 IDRecordAttribute * pIDRecordAttribute,
2544 ObjIDRecordTuple * pObjIDRecordTuple,
2545 ObjID & rObjID,
2546 EnDeepMode eDeepMode,
2547 bool bWithRefRecords ) const;
2548 //-----------------------------------------------------------------------
2564 void movePtrClassInfoMapToSmrtPtrClassInfoMap( const std::map< unsigned long, ClassInfo *, std::less<unsigned long> > * pPtrClassInfoMap,
2565 std::map< unsigned long, std::shared_ptr<ClassInfo>, std::less<unsigned long> > & rSmrtPtrClassInfoMap ) const;
2566 //-----------------------------------------------------------------------
2567
2568 private:
2569 //============== Operatoren
2570 //-----------------------------------------------------------------------
2580 PrivateBase & operator= (const PrivateBase &);
2581 //-----------------------------------------------------------------------
2582 };
2583 //---------------------------------------------------------------------------
2584} // namespace glo
2585//-----------------------------------------------------------------------------
2586#ifdef _MSC_VER
2587 /* 'Bezeichner': Klasse 'Typ' benötigt eine DLL-Schnittstelle, die von... */
2588 #pragma warning( default : 4251 )
2589#endif
2590//-----------------------------------------------------------------------------
2591#endif
Header für ClassInfoAttribute und ClassInfoAttribute::Type
Header für ClientInfo
Header für OrderMsg
Header und Source für TOndemand
Für jede Bibliothek, hier 'GlobalObjects' gibt es eine Typen-Datei.
#define __glo_export_dll
Definition GloTypes.h:70
Ist die Basisklasse von Template-AllSets und dem generischen AllSet.
Definition GloBaseAllSet.h:87
Definition GloBase.h:263
Ist die Basisklasse von Pointer- und Ondemand-Sets bzw. Pointer- und Ondemand-Listen.
Definition GloBaseLot.h:73
Abstrakte Basisklasse für Persistent und die generische GenericPersistent.
Definition GloBasePersistent.h:124
Oberklasse für die Klassen, welche mit einer Base 'verbunden' sind.
Definition GloCallBack.h:81
Zusammengefasste Typinformationen für ein ClassInfoAttribute.
Definition GloClassInfoAttribute.h:108
Diese Klasse beinhaltet alle Informationen um Objekte einer Klasse in einer Datenbank speichern zu kö...
Definition GloClassInfo.h:86
OberKlasse von LocalThread, ClientThread und ServerThread, weil diese als Sender und Empfänger (Kommu...
Definition GloCommunicator.h:93
Klasse für die eingebettete persistente Objekt-Attribute eines Record. Repräsentiert ein Attribut vom...
Definition GloEmbeddedRecordAttribute.h:72
Klasse um die generischen persistente Objekte einer Datenbank im Speicher im Zugriff zu haben.
Definition GloGenPersObjectSpy.h:83
OberKlasse für ObjID- und ObjID-Referenz-Attribute eines Record.
Definition GloIDRecordAttribute.h:65
Definition GloIndexQueryBaseStruct.h:72
In Objekten dieser Klasse werden die Min- und Max-Werte von unterstützten Datentypen und deren Feldlä...
Definition GloLimitRecord.h:71
Um Objekte sperren zu können, werden der 'Lock-Modus' und die 'Sperrtiefe' als Parameter benötigt....
Definition GloLockSpecification.h:65
Abstrakte Oberklasse für Instanziierungsfunktionen der persistenten Klassen. Von dieser Klasse wird g...
Definition GloObjCreator.h:78
Ein Objekt-ID besteht aus der Klassen-ID, einer Datenbank-ID und der eigentlichen eindeutigen ObjektZ...
Definition GloObjID.h:84
Ein Tuple von Datensatz und Objekt-ID.
Definition GloObjIDRecordTuple.h:80
Diese Klasse kann aus einem Datensatz ein persistentes Objekt instanziieren bzw. ein persistentes Obj...
Definition GloObjectMaker.h:70
EnOrderType
Definition GloOrderMsg.h:105
Klasse um die persistente Objekte einer Datenbank im Speicher im Zugriff zu haben.
Definition GloPersObjectSpy.h:82
In dieser Klasse werden Funktionen für Base gekapselt. Für den Fall, dass sich Änderungen in der Funk...
Definition GloPrivateBase.h:99
GenPersObjectSpy * m_pPersGenericObjectSpy
Definition GloPrivateBase.h:334
int switchWatchObject(OrderMsg::EnOrderType eSetWatchOrUnsetWatch, const ObjID &rObjId, TdWatchNotifyMode ulWatchMode, EnDeepMode eDeepMode, CallBack *pCallBack)
int deleteObjects(const std::vector< glo::ObjID > &rObjectIDs, EnDeepMode eDeepMode)
PrivateBase(const std::string &rstrServerName, const std::string &rstrClientName, int iTimeOutSec, unsigned int uiPort, const std::string &rstrSchemaPath, const std::string &rstrKnownSchemes)
int getAllSuperClassInfos(std::map< unsigned long, ClassInfo *, std::less< unsigned long > > *&prSuperClassInfoMap, unsigned long ulClassID, const std::string &rstrBaseName)
int getBaseCount(std::vector< std::string >::size_type &rBaseCount) const
int processIndexQueryOrFilter(const IndexQueryBaseStruct &rIndexQueryBaseStruct, std::vector< ObjID > *pRetValObjIDVector)
int lockUnlockObjIdList(OrderMsg::EnOrderType eLockOrUnlock, std::list< ObjID > *pObjIDList, LockSpecification *pLockSpec)
unsigned long getBaseID() const
int beginCommitAbortTransaction(OrderMsg::EnOrderType eBeginOrCommitOrAbort)
int switchWatchObjIdList(OrderMsg::EnOrderType eSetWatchOrUnsetWatch, std::list< ObjID > *pObjIDList, WatchSpecification *pWatchSpec)
int insertDataRecord(std::map< ObjID, Record *, std::less< ObjID > > &rRetValList, IDRecordAttribute *pIDRecordAttribute, ObjIDRecordTuple *pObjIDRecordTuple, ObjID &rObjID, EnDeepMode eDeepMode, bool bWithRefRecords) const
int reindexBase(const std::string &rstrBaseName, CallBack *pProgressNotificationCallBack)
bool isInTransaction() const
int setCurrentObjectInAllSet(const ObjID &rObjID, const BaseAllSet &rAllSet)
ObjectMaker * getObjectMaker()
int isSuperClassFrom(bool &rbRetVal, unsigned long ulClassIDSuperClass, unsigned long ulClassIDSubClass, const std::string &rstrBaseName) const
std::string getBaseName() const
int getSchemaPath(std::string &rstrRetVal)
int reindexBase(CallBack *pProgressNotificationCallBack)
int setDbIniName(const std::string &rstrDbIniName)
int getAllLoggedClients(std::vector< ClientInfo > &rClientInfoVector, const std::string &rstrBaseName) const
std::vector< std::shared_ptr< Persistent > > m_ObjectsToActivate
Definition GloPrivateBase.h:380
ObjectMaker * m_pObjectMaker
Definition GloPrivateBase.h:304
int insertDataRecord(std::map< ObjID, Record *, std::less< ObjID > > &rRetValList, ObjID ObjID, EnDeepMode eDeepMode) const
int getIndexedObjIdsFromAllSet(std::vector< glo::ObjID > &rObjIDContainer, const BaseAllSet &rAllSet, const std::string &rsIndexName, unsigned long ulIndexClassID, const std::string &rsIndexSearchValue, EnComparisionOp eComparisionOp)
int setBaseName(const std::string &rstrBaseName)
int m_iTimeOutSec
Definition GloPrivateBase.h:265
int isKnownClassID(bool &rbRetVal, unsigned long ulClassID, const std::string &rstrBaseName) const
int connect(CallBack *pServerCrashNotificationCallBack=nullptr)
int getSubClassInfos(std::map< unsigned long, ClassInfo *, std::less< unsigned long > > *&prSubClassInfoMap, unsigned long ulClassID, const std::string &rstrBaseName)
bool m_bOpen
Definition GloPrivateBase.h:180
std::string m_strDbIniFileName
Definition GloPrivateBase.h:139
int setIndexFilter(const BaseAllSet &rAllSet, const std::string &rsIndexFilter)
int openBaseComfortably(CallBack *pProgressNotificationCallBack, CallBack *pServerCrashNotificationCallBack)
std::string getDbIniName() const
int getAllBases(std::vector< std::string > *&prRetValVector) const
int getSizeFromAllSet(std::size_t &rnSize, const BaseAllSet &rAllSet)
PersObjectSpy * m_pPersObjectSpy
Definition GloPrivateBase.h:319
int switchWatchClient(OrderMsg::EnOrderType eSetWatchOrUnsetWatch, TdWatchNotifyMode ulWatchMode, CallBack *pCallBack) const
virtual ~PrivateBase()
int repairBase(const std::string &rstrBaseName, CallBack *pProgressNotificationCallBack)
ObjCreator * m_pObjCreator
Definition GloPrivateBase.h:291
int close(CallBack *pProgressNotificationCallBack)
unsigned long m_ulBaseID
Definition GloPrivateBase.h:191
int repairBase(CallBack *pProgressNotificationCallBack)
int getLimits(LimitRecord *&prLimitRecord, const ClassInfoAttribute::Type &rClassInfoAttributeType) const
int open(const std::string &rstrBaseName, CallBack *pProgressNotificationCallBack)
int getClassInfos(OrderMsg::EnOrderType eOrder, std::map< unsigned long, ClassInfo *, std::less< unsigned long > > *&prClassInfoMap, unsigned long ulClassID, const std::string &rstrBaseName)
int setWatchServer(CallBack *pCallBack) const
int getDefaultLimits(std::vector< LimitRecord > *&prRetValVector) const
std::vector< std::shared_ptr< Persistent > > * getObjectsToActivat()
std::string m_strClientName
Definition GloPrivateBase.h:349
int getIndexedObjIdsFromAllSet(std::vector< glo::ObjID > &rObjIDContainer, const BaseAllSet &rAllSet, const std::string &rsIndexSearchValue, EnQueryType eQuerryType)
int getDependDataRecords(std::map< ObjID, Record *, std::less< ObjID > > &rRetValList, Record &rObjDataRecord, EnDeepMode eDeepMode, bool bWithRefRecords) const
int openBase(CallBack *pProgressNotificationCallBack, CallBack *pServerCrashNotificationCallBack)
int notifyAsWritten(const std::list< ObjID > &rObjIDList)
int getIndexedObjIdsFromAllSet(std::vector< glo::ObjID > &rObjIDContainer, const BaseAllSet &rAllSet, const std::string &rsIndexSearchValue, EnComparisionOp eComparisionOp)
int getIndexedObjIdsFromAllSet(std::vector< glo::ObjID > &rObjIDContainer, const BaseAllSet &rAllSet, const std::string &rsIndexName, unsigned long ulIndexClassID, const std::string &rsIndexSearchValue, EnQueryType eQuerryType)
int getAllSubClassInfos(std::map< unsigned long, ClassInfo *, std::less< unsigned long > > *&prSubClassInfoMap, unsigned long ulClassID, const std::string &rstrBaseName)
int getIndexedObjIdsFromAllSet(std::vector< glo::ObjID > &rObjIDContainer, const BaseAllSet &rAllSet, const std::string &rsIndexName, unsigned long ulIndexClassID, const std::string &rsRangeStartIndexSearchValue, const std::string &rsRangeEndIndexSearchValue)
int getClassInfo(ClassInfo *&prClassInfo, unsigned long ulClassID, const std::string &rstrBaseName) const
int compressBase(CallBack *pProgressNotificationCallBack)
int isStoredObject(bool &rbRetVal, BasePersistent *pObject)
PrivateBase(const std::string &rstrClientName, ObjCreator &rObjCreator)
PrivateBase(const PrivateBase &)
int storeDeleteObject(OrderMsg::EnOrderType eStoreOrDelete, BasePersistent *pObject, EnDeepMode eDeepMode)
int getTimeOutSec(int &riTimeOutSec)
unsigned int m_uiPort
Definition GloPrivateBase.h:218
int setSchemaPath(const std::string &rstrSchemaPath)
Base * m_pBaseApi
Definition GloPrivateBase.h:120
int getTransactionLevel() const
bool isOpen() const
int getPort(unsigned int &ruiPort)
int insertDataRecord(std::map< ObjID, Record *, std::less< ObjID > > &rRetValList, ObjIDRecordTuple *pObjIDRecordTuple, EnDeepMode eDeepMode) const
int openAllSet(BaseAllSet *pAllSet)
int lockUnlockObject(OrderMsg::EnOrderType eLockOrUnlock, const ObjID &rObjId, EnLockMode eLockMode, EnDeepMode eDeepMode)
int getRecord(Record *&prRecord, const ObjID &rObjID, unsigned long ulClassID)
Communicator * m_pLocalCommunicator
Definition GloPrivateBase.h:278
int setClientName(const std::string &rstrClientName)
int doWithBase(const std::string &rstrBaseName, CallBack *pCallBack, OrderMsg::EnOrderType eRepairType)
unsigned int getCommunicatorID() const
int refreshObject(BasePersistent *pObject)
int lockUnlockLot(OrderMsg::EnOrderType eLockOrUnlock, const BaseLot &rObjIdLot, EnLockMode eLockMode, EnDeepMode eDeepMode)
PrivateBase(const std::string &rstrClientName)
int removeIndexFilter(const BaseAllSet &rAllSet)
int objIDInAllSet(const ObjID &rObjID, const BaseAllSet &rAllSet)
int getObjIdFromAllSet(ObjID &rObjID, const BaseAllSet &rAllSet, EnSeekMode eMode)
int instantiateRecordObjects(BasePersistent &rObject, Record *pRecord, bool bShouldBeActivated)
bool isConnected() const
std::string m_sKnownSchemes
Definition GloPrivateBase.h:252
int getAnObject(BasePersistent *&prObject, const ObjID &rObjID, bool bGeneric=false)
int switchWatchClass(OrderMsg::EnOrderType eSetWatchOrUnsetWatch, unsigned long ulClassID, TdWatchNotifyMode ulWatchMode, CallBack *pCallBack)
int setIndexFilter(const BaseAllSet &rAllSet, const std::string &rsRangeStartIndexFilter, const std::string &rsRangeEndIndexFilter)
int setPositionInAllSet(std::size_t nPosition, const BaseAllSet &rAllSet)
int setKnownSchemes(const std::string &rstrKnownSchemes)
int getIndexedObjIdsFromAllSet(std::vector< glo::ObjID > &rObjIDContainer, const BaseAllSet &rAllSet, const std::string &rsRangeStartIndexSearchValue, const std::string &rsRangeEndIndexSearchValue)
std::string m_sSchemaPath
Definition GloPrivateBase.h:235
int getAllClassInfosFromBase(std::map< unsigned long, ClassInfo *, std::less< unsigned long > > *&prAllClassInfoMap, const std::string &rstrBaseName)
int m_iTransactionLevel
Definition GloPrivateBase.h:203
int switchWatchLot(OrderMsg::EnOrderType eSetWatchOrUnsetWatch, const BaseLot &rObjIdLot, TdWatchNotifyMode ulWatchMode, EnDeepMode eDeepMode, CallBack *pCallBack)
std::string getClientName() const
int getClassInfo(ClassInfo *&prClassInfo, const std::string &rstrClassName, const std::string &rstrBaseName) const
std::string m_sBaseName
Definition GloPrivateBase.h:168
PrivateBase(const std::string &rstrServerName, const std::string &rstrClientName, ObjCreator &rObjCreator)
int reconnect(CallBack *pServerCrashNotificationCallBack=nullptr)
int closeBase(CallBack *pProgressNotificationCallBack)
int getObjectFromAllSet(ObjID &rObjID, BasePersistent *&prObject, const BaseAllSet &rAllSet, EnSeekMode eMode, bool bGeneric=false)
int getSchemaNameWithPath(std::string &rstrRetVal)
void movePtrClassInfoMapToSmrtPtrClassInfoMap(const std::map< unsigned long, ClassInfo *, std::less< unsigned long > > *pPtrClassInfoMap, std::map< unsigned long, std::shared_ptr< ClassInfo >, std::less< unsigned long > > &rSmrtPtrClassInfoMap) const
int assignObject(BasePersistent *pObject)
std::string m_sServerName
Definition GloPrivateBase.h:156
int switchWatchIndex(OrderMsg::EnOrderType eSetWatchOrUnsetWatch, TdWatchNotifyMode ulWatchMode, CallBack *pCallBack) const
int compressBase(const std::string &rstrBaseName, CallBack *pProgressNotificationCallBack)
PrivateBase(const std::string &rstrServerName, const std::string &rstrClientName)
int insertDataRecord(std::map< ObjID, Record *, std::less< ObjID > > &rRetValList, IDRecordAttribute *pIDRecordAttribute, EnDeepMode eDeepMode, bool bWithRefRecords) const
int generateObject(BasePersistent *&prObject, Record *pRecord, bool bShouldBeActivated, bool bGeneric)
int getSuperClassInfos(std::map< unsigned long, ClassInfo *, std::less< unsigned long > > *&prSuperClassInfoMap, unsigned long ulClassID, const std::string &rstrBaseName)
PrivateBase(const std::string &rstrClientName, const std::string &rstrSchemaPath, const std::string &rstrBaseName)
std::string getServerName() const
int getKnownSchemes(std::vector< std::string > &rRetVal)
int closeAllSet(BaseAllSet *pAllSet)
int setIndexFilter(const BaseAllSet &rAllSet, const std::string &rsIndexFilter, EnComparisionOp eComparisionOp)
Objekte dieser Klasse transportieren die Daten von den Tabellen ins persistente Objekt und von diesen...
Definition GloRecord.h:108
Um Objekte beobachten zu können, müssen der 'Beobachtungsmodus', die 'Beobachtungstiefe' und das 'Ben...
Definition GloWatchSpecification.h:67
Definition GloAbstractBaseLot.h:49
EnDeepMode
Definition GloTypes.h:254
EnComparisionOp
Definition GloTypes.h:1567
EnLockMode
Definition GloTypes.h:1055
EnSeekMode
Definition GloTypes.h:173
EnQueryType
Definition GloTypes.h:1164
unsigned long TdWatchNotifyMode
Definition GloTypes.h:558