GlobalObjects
Lade ...
Suche ...
Keine Treffer
GloTypes.h
gehe zur Dokumentation dieser Datei
1#ifndef INC_GLOTYPES_H
2#define INC_GLOTYPES_H
3//-----------------------------------------------------------------------------
41//-----------------------------------------------------------------------------
42#ifdef _MSC_VER
43 /* 'Bezeichner': Klasse 'Typ' benötigt eine DLL-Schnittstelle, die von... */
44 #pragma warning( disable : 4251 )
45#endif
46//-----------------------------------------------------------------------------
47#include "GloErrors.h"
48#include "EuDef_NULL_PTR.h"
50#include <stack>
51#include <vector>
52#include <string>
53#include <climits>
54//=============================================================================
55// DLL-Export, -Import definitions
56#if defined(_MSC_VER) || defined(__MINGW32__) || defined(__MINGW64__)
57 #ifdef __GLO_EXPORT_DLL
58 #define __glo_export_dll __declspec(dllexport)
59 #if defined(_MSC_VER)
60 #pragma message ( "Benutze Export defines fuer __glo_export_dll" )
61 #endif
62 #else
63 #define __glo_export_dll //__declspec(dllimport)
64 #if defined(_MSC_VER)
65 #pragma message ( "Benutze Import defines fuer __glo_export_dll" )
66 #endif
67 #endif
68#elif defined(__GNUC__)
69 #ifdef __GLO_EXPORT_DLL
70 #define __glo_export_dll //__attribute__ ((visibility("default")))
71 #else
72 #define __glo_export_dll //__attribute__ ((visibility ("hidden")))
73 #endif
74#endif
75//-----------------------------------------------------------------------------
76namespace glo
77{
78 //===========================================================================
79 /* Forwards */
80 class CallBack;
81 class ObjID;
82 class BaseAllSet;
83 //===========================================================================
93 const char g_cIndexDelimiter = '|';
94 //===========================================================================
115 //const char g_cTableColumnDelimiter = '|';
116 const char g_cTableColumnDelimiter = '\a';
117 //===========================================================================
146 #if defined ( _MSC_VER ) || defined ( __MINGW32__ ) || defined ( __MINGW64__ )
147 const std::string g_sEOL = "\r\n";
148 #elif defined ( __GNUC__ )
149 const std::string g_sEOL = "\n";
150 #endif
151 //===========================================================================
152
153 //===========================================================================
166 {
167 //---------------------------------------------------------------------------
178 //---------------------------------------------------------------------------
189 //---------------------------------------------------------------------------
200 //---------------------------------------------------------------------------
211 //---------------------------------------------------------------------------
222 //---------------------------------------------------------------------------
223 };
224 //===========================================================================
225
226 //===========================================================================
227 //-----------------------------------------------------------------------------
228 // doxygen -> warning: unable to resolve reference to 'PAGE_GLO_REFERENCES' for \ref command
229 // doxygen -> warning: unable to resolve reference to 'GLO_INTRODUCTION' for \ref command
230 // Is a reference to the GlobalObjects documentation.
231 //-----------------------------------------------------------------------------
247 {
248 //---------------------------------------------------------------------------
259 //---------------------------------------------------------------------------
270 //---------------------------------------------------------------------------
271 // doxygen -> warning: unable to resolve reference to 'GLO_REF_DEPENDENT' for \ref command
272 // Is a reference to the GlobalObjects documentation.
273 //---------------------------------------------------------------------------
284 //---------------------------------------------------------------------------
296 //---------------------------------------------------------------------------
297 // doxygen -> warning: unable to resolve reference to 'GLO_REF_DEPENDENT' for \ref command
298 // Is a reference to the GlobalObjects documentation.
299 //---------------------------------------------------------------------------
314 DM_DEEP = 4
315 //---------------------------------------------------------------------------
316 };
317 //===========================================================================
318
319 //===========================================================================
320 //-----------------------------------------------------------------------------
321 // doxygen -> warning: unable to resolve reference to 'PAGE_GLO_WATCH_NOTIFY' for \ref command
322 // doxygen -> warning: unable to resolve reference to 'GLO_INTRODUCTION' for \ref command
323 // doxygen -> warning: unable to resolve reference to 'GLO_REF_DEPENDENT' for \ref command
324 // Is a reference to the GlobalObjects documentation.
325 //-----------------------------------------------------------------------------
543 typedef unsigned long TdWatchNotifyMode;
544 //---------------------------------------------------------------------------
555 //---------------------------------------------------------------------------
574 //---------------------------------------------------------------------------
585 //---------------------------------------------------------------------------
602 //---------------------------------------------------------------------------
613 //---------------------------------------------------------------------------
630 //---------------------------------------------------------------------------
641 //---------------------------------------------------------------------------
658 //---------------------------------------------------------------------------
675 //---------------------------------------------------------------------------
688 //---------------------------------------------------------------------------
699 //---------------------------------------------------------------------------
711 //---------------------------------------------------------------------------
724 //---------------------------------------------------------------------------
736 //---------------------------------------------------------------------------
748 //---------------------------------------------------------------------------
759 //---------------------------------------------------------------------------
770 //---------------------------------------------------------------------------
781 //---------------------------------------------------------------------------
792 //---------------------------------------------------------------------------
803 //---------------------------------------------------------------------------
814 //---------------------------------------------------------------------------
825 //---------------------------------------------------------------------------
826 //===========================================================================
827
828 //===========================================================================
829 //-----------------------------------------------------------------------------
830 // doxygen -> warning: unable to resolve reference to 'GLO_SERVER_SL' for \ref command
831 // doxygen -> warning: unable to resolve reference to 'PAGE_GLO_SERVER' for \ref command
832 // Is a reference to the GlobalObjects documentation.
833 //-----------------------------------------------------------------------------
854 typedef unsigned long ShowLevel;
855 //---------------------------------------------------------------------------
875 const ShowLevel SHOW_TCP = 1;
956 //===========================================================================
957
958 //===========================================================================
959 //---------------------------------------------------------------------------
960 // doxygen -> warning: unable to resolve reference to 'PAGE_GLO_LOCKING' for \ref command
961 // doxygen -> warning: unable to resolve reference to 'GLO_INTRODUCTION' for \ref command
962 // Is a reference to the GlobalObjects documentation.
963 //---------------------------------------------------------------------------
1053 // |==============================================================================|
1054 // | Obj1 | Obj2 |
1055 // |------------------------------------------------------------------------------|
1056 // |LOCK | Guarantee | Protection | Allowed LOCKs | Possibilities | Restrictions |
1057 // |==============================================================================|
1058 // | NN | none | none | all | all | none |
1059 // | RD | R | D | RD, RW, WW, TW | R, W | D |
1060 // | RW | R | D, W | RD, RW | R | D, W |
1061 // | WW | R, W | D, W | RD | R | D, W |
1062 // | DW | R, W, D | D, W | none | R | D, W |
1063 // | DR | R, W, D | D, W, R | none | none | D, W, R |
1064 // | EX | R, W, D | D, W, R | none | none | D, W, R |
1065 // | TW | R, W | D, W | RD | R | D, W |
1066 // | TD | R, W, D | D, W | none | R | D, W |
1067 // |==============================================================================|
1068
1166 //===========================================================================
1167
1168 //===========================================================================
1201 //===========================================================================
1202
1203 //===========================================================================
1248 template <typename T> class Forgeter
1249 {
1250 public:
1251 void operator()(T * ptr )
1252 {
1253 ptr->forget();
1254 }
1255 };
1256 //===========================================================================
1257
1258 //===========================================================================
1271 {
1272 public:
1273 //============== Attribute
1274 //-----------------------------------------------------------------------
1285 //-----------------------------------------------------------------------
1296 //-----------------------------------------------------------------------
1307 //-----------------------------------------------------------------------
1308
1309 //============== Konstruktoren
1310 //-----------------------------------------------------------------------
1321 : m_bRead(false),
1322 m_bWrite(false),
1323 m_bDelete(false)
1324 {};
1325 //-----------------------------------------------------------------------
1345 LockPossibleSpecification( unsigned long ulValue )
1346 : m_bRead(false),
1347 m_bWrite(false),
1348 m_bDelete(false)
1349 {
1350 this->set( ulValue );
1351 };
1352 //-----------------------------------------------------------------------
1363 {};
1364 //-----------------------------------------------------------------------
1377 : m_bRead( rT.m_bRead ),
1378 m_bWrite( rT.m_bWrite ),
1379 m_bDelete( rT.m_bDelete )
1380 {
1381 };
1382 //-----------------------------------------------------------------------
1383
1384 //============== Methoden
1385 //-----------------------------------------------------------------------
1401 unsigned long getAsUL()
1402 {
1403 unsigned long t_ulRetVal(0);
1404
1405 if ( m_bRead ) t_ulRetVal |= 1;
1406 if ( m_bWrite ) t_ulRetVal |= 2;
1407 if ( m_bDelete ) t_ulRetVal |= 4;
1408 return t_ulRetVal;
1409 };
1410 //-----------------------------------------------------------------------
1428 void set( unsigned long ulValue )
1429 {
1430 m_bRead = false;
1431 m_bWrite = false;
1432 m_bDelete = false;
1433 if ( ulValue & 1 ) m_bRead = true;
1434 if ( ulValue & 2 ) m_bWrite = true;
1435 if ( ulValue & 4 ) m_bDelete = true;
1436 };
1437 //-----------------------------------------------------------------------
1438
1439 //============== Operatoren
1440 //-----------------------------------------------------------------------
1453 {
1454 if( this != & rT )
1455 {
1456 m_bRead = rT.m_bRead;
1457 m_bWrite = rT.m_bWrite;
1458 m_bDelete = rT.m_bDelete;
1459 }
1460 return *this;
1461 };
1462 //-----------------------------------------------------------------------
1464
1475 inline bool operator== ( const LockPossibleSpecification & rT ) const
1476 {
1477 if ( m_bRead == rT.m_bRead
1478 &&
1479 m_bWrite == rT.m_bWrite
1480 &&
1481 m_bDelete == rT.m_bDelete )
1482 {
1483 return true;
1484 }
1485 return false;
1486 };
1487 //-----------------------------------------------------------------------
1488 inline bool operator!= ( const LockPossibleSpecification & rT ) const
1489 {
1490 if ( *this == rT )
1491 {
1492 return false;
1493 }
1494 return true;
1495 };
1497 //-----------------------------------------------------------------------
1498 };
1499 //===========================================================================
1500
1501 //===========================================================================
1512 {
1513 public:
1514 //============== Attribute
1515 //-----------------------------------------------------------------------
1525 unsigned long m_ulVersion;
1526 //-----------------------------------------------------------------------
1527 };
1528 //===========================================================================
1529
1530 //===========================================================================
1542 {
1543 public:
1544 //============== Attribute
1545 //-----------------------------------------------------------------------
1555 std::stack< ObjID > * m_pDependObjIdStack;
1556 //-----------------------------------------------------------------------
1567 //-----------------------------------------------------------------------
1568 };
1569 //===========================================================================
1570
1571
1572 //===========================================================================
1645 //===========================================================================
1646} // namespace glo
1647//-----------------------------------------------------------------------------
1648#ifdef _MSC_VER
1649 /* 'Bezeichner': Klasse 'Typ' benötigt eine DLL-Schnittstelle, die von... */
1650 #pragma warning( default : 4251 )
1651#endif
1652//-----------------------------------------------------------------------------
1653#endif
Damit die Definition von NULL_PTR und NUM_PTR zentral verfügbar ist, gibt es diese Datei.
Für jede Bibliothek, hier 'GlobalObjects' gibt es eine Fehler-Datei.
Header der GlobalObjects Datensatz-Attribut-Typen.
Speziel für GenericPersistent oder abgeleitete Klassen von Persistent die Forget-Methode für std::sha...
Definition GloTypes.h:1249
void operator()(T *ptr)
Definition GloTypes.h:1251
Definition GloAbstractBaseLot.h:42
const TdWatchNotifyMode WNM_DELETE_TRANSACTION
Definition GloTypes.h:640
const TdWatchNotifyMode WNM_SERVER_WSAECONNRESET
Definition GloTypes.h:824
EnDeepMode
Definition GloTypes.h:247
@ DM_NOONDEMAND
Definition GloTypes.h:295
@ DM_FLAT
Definition GloTypes.h:269
@ DM_SHALLOW
Definition GloTypes.h:283
@ DM_DEEP
Definition GloTypes.h:314
@ DM_NONE
Definition GloTypes.h:258
const ShowLevel SHOW_CHECK_BASE_ACTION
Definition GloTypes.h:945
EnComparisionOp
Definition GloTypes.h:1583
@ LESS_EQUAL
Definition GloTypes.h:1633
@ LESS
Definition GloTypes.h:1623
@ NOT_EQUAL
Definition GloTypes.h:1643
@ GREATER_EQUAL
Definition GloTypes.h:1613
@ EQUAL
Definition GloTypes.h:1593
@ GREATER
Definition GloTypes.h:1603
const TdWatchNotifyMode WNM_CLIENT_CONNECTSERVER
Definition GloTypes.h:710
const ShowLevel SHOW_REINDEX_ACTION
Definition GloTypes.h:905
const ShowLevel SHOW_ORDER_ACTION
Definition GloTypes.h:895
EnLockMode
Definition GloTypes.h:1070
@ LK_READvWRITE
Definition GloTypes.h:1100
@ LK_TRANSACTION_WRITE
Definition GloTypes.h:1152
@ LK_NONE
Definition GloTypes.h:1080
@ LK_READvDELETE
Definition GloTypes.h:1090
@ LK_DELETEvREAD
Definition GloTypes.h:1130
@ LK_EXCLUSIVE
Definition GloTypes.h:1140
@ LK_WRITEvWRITE
Definition GloTypes.h:1110
@ LK_DELETEvWRITE
Definition GloTypes.h:1120
@ LK_TRANSACTION_DELETE
Definition GloTypes.h:1164
const TdWatchNotifyMode WNM_UNLOCK
Definition GloTypes.h:674
const char g_cIndexDelimiter
Definition GloTypes.h:93
const ShowLevel SHOW_REPAIR_BASE_ACTION
Definition GloTypes.h:955
const TdWatchNotifyMode WNM_DATABASE_REPAIR
Definition GloTypes.h:802
unsigned long ShowLevel
Definition GloTypes.h:854
const TdWatchNotifyMode WNM_INSERT_TRANSACTION
Definition GloTypes.h:698
const ShowLevel SHOW_COMPRESS_ACTION
Definition GloTypes.h:935
const ShowLevel SHOW_NONE
Definition GloTypes.h:865
const TdWatchNotifyMode WNM_INDEX_READ
Definition GloTypes.h:758
const TdWatchNotifyMode WNM_LOCK
Definition GloTypes.h:657
const TdWatchNotifyMode WNM_WRITE_TRANSACTION
Definition GloTypes.h:612
const TdWatchNotifyMode WNM_READ_TRANSACTION
Definition GloTypes.h:584
const ShowLevel SHOW_WRITEINDEX_ACTION
Definition GloTypes.h:925
const std::string g_sEOL
Definition GloTypes.h:147
const TdWatchNotifyMode WNM_CLIENT_DISCONNECTSERVER
Definition GloTypes.h:723
const TdWatchNotifyMode WNM_DATABASE_COMPRESS
Definition GloTypes.h:791
EnSeekMode
Definition GloTypes.h:166
@ END
Definition GloTypes.h:188
@ CURRENT
Definition GloTypes.h:199
@ START
Definition GloTypes.h:177
@ PREVIOUS
Definition GloTypes.h:221
@ NEXT
Definition GloTypes.h:210
const TdWatchNotifyMode WNM_INDEX_REINDEX
Definition GloTypes.h:780
EnQueryType
Definition GloTypes.h:1179
@ eQUERY_DIRECT
Definition GloTypes.h:1189
@ eQUERY_OQL
Definition GloTypes.h:1199
const char g_cTableColumnDelimiter
Definition GloTypes.h:116
const ShowLevel SHOW_READINDEX_ACTION
Definition GloTypes.h:915
const TdWatchNotifyMode WNM_INSERT
Definition GloTypes.h:687
const TdWatchNotifyMode WNM_INDEX_WRITE
Definition GloTypes.h:769
const TdWatchNotifyMode WNM_WRITE
Definition GloTypes.h:601
const TdWatchNotifyMode WNM_DELETE
Definition GloTypes.h:629
const ShowLevel SHOW_TCP
Definition GloTypes.h:875
const ShowLevel SHOW_READ_WRITE
Definition GloTypes.h:885
const TdWatchNotifyMode WNM_NONE
Definition GloTypes.h:554
const TdWatchNotifyMode WNM_READ
Definition GloTypes.h:573
const TdWatchNotifyMode WNM_CLIENT_CLOSEBASE
Definition GloTypes.h:747
unsigned long TdWatchNotifyMode
Definition GloTypes.h:543
const TdWatchNotifyMode WNM_CLIENT_OPENBASE
Definition GloTypes.h:735
const TdWatchNotifyMode WNM_DATABASE_CHECK
Definition GloTypes.h:813
Eine Struktur um mehrere Objekt-IDs mit einem 'Tiefenmodus' zu transportieren.
Definition GloTypes.h:1542
std::stack< ObjID > * m_pDependObjIdStack
Definition GloTypes.h:1555
EnDeepMode m_eDeepMode
Definition GloTypes.h:1566
Es können erlaubte Aktionen in der Datenbank wie lesen, schreiben und löschen für ein Objekt erfragt ...
Definition GloTypes.h:1271
bool m_bRead
Definition GloTypes.h:1284
LockPossibleSpecification()
Definition GloTypes.h:1320
LockPossibleSpecification(const LockPossibleSpecification &rT)
Definition GloTypes.h:1376
bool m_bWrite
Definition GloTypes.h:1295
LockPossibleSpecification & operator=(const LockPossibleSpecification &rT)
Definition GloTypes.h:1452
bool m_bDelete
Definition GloTypes.h:1306
virtual ~LockPossibleSpecification()
Definition GloTypes.h:1362
bool operator!=(const LockPossibleSpecification &rT) const
Vergleichsoperator.
Definition GloTypes.h:1488
unsigned long getAsUL()
Definition GloTypes.h:1401
bool operator==(const LockPossibleSpecification &rT) const
Vergleichsoperator.
Definition GloTypes.h:1475
void set(unsigned long ulValue)
Definition GloTypes.h:1428
LockPossibleSpecification(unsigned long ulValue)
Definition GloTypes.h:1345
Zum Öffnen einer Datenbank wird diese Info in die OrderMsg einegfügt.
Definition GloTypes.h:1512
unsigned long m_ulVersion
Definition GloTypes.h:1525