GlobalObjects
Lade ...
Suche ...
Keine Treffer
GloTypes.h
gehe zur Dokumentation dieser Datei
1#ifndef INC_GLOTYPES_H
2#define INC_GLOTYPES_H
3//-----------------------------------------------------------------------------
48//-----------------------------------------------------------------------------
49#ifdef _MSC_VER
50 /* 'Bezeichner': Klasse 'Typ' benötigt eine DLL-Schnittstelle, die von... */
51 #pragma warning( disable : 4251 )
52#endif
53//-----------------------------------------------------------------------------
54#include "GloErrors.h"
55#include "EuDef_NUM_PTR.h"
57#include <stack>
58#include <vector>
59#include <string>
60#include <climits>
61//=============================================================================
62// DLL-Export, -Import definitions
63#if defined(_MSC_VER) || defined(__MINGW32__) || defined(__MINGW64__)
64 #ifdef __GLO_EXPORT_DLL
65 #define __glo_export_dll __declspec(dllexport)
66 #if defined(_MSC_VER)
67 #pragma message ( "Benutze Export defines fuer __glo_export_dll" )
68 #endif
69 #else
70 #define __glo_export_dll //__declspec(dllimport)
71 #if defined(_MSC_VER)
72 #pragma message ( "Benutze Import defines fuer __glo_export_dll" )
73 #endif
74 #endif
75#elif defined(__GNUC__)
76 #ifdef __GLO_EXPORT_DLL
77 #define __glo_export_dll //__attribute__ ((visibility("default")))
78 #else
79 #define __glo_export_dll //__attribute__ ((visibility ("hidden")))
80 #endif
81#endif
82//-----------------------------------------------------------------------------
83namespace glo
84{
85 //===========================================================================
86 /* Forwards */
87 class CallBack;
88 class ObjID;
89 class BaseAllSet;
90 //===========================================================================
100 const char g_cIndexDelimiter = '|';
101 //===========================================================================
122 //const char g_cTableColumnDelimiter = '|';
123 const char g_cTableColumnDelimiter = '\a';
124 //===========================================================================
153 #if defined ( _MSC_VER ) || defined ( __MINGW32__ ) || defined ( __MINGW64__ )
154 const std::string g_sEOL = "\r\n";
155 #elif defined ( __GNUC__ )
156 const std::string g_sEOL = "\n";
157 #endif
158 //===========================================================================
159
160 //===========================================================================
192 {
193 //---------------------------------------------------------------------------
204 //---------------------------------------------------------------------------
215 //---------------------------------------------------------------------------
226 //---------------------------------------------------------------------------
237 //---------------------------------------------------------------------------
248 //---------------------------------------------------------------------------
249 };
250 //===========================================================================
251
252 //===========================================================================
253 //-----------------------------------------------------------------------------
254 // doxygen -> warning: unable to resolve reference to 'PAGE_GLO_REFERENCES' for \ref command
255 // doxygen -> warning: unable to resolve reference to 'GLO_INTRODUCTION' for \ref command
256 // Is a reference to the GlobalObjects documentation.
257 //-----------------------------------------------------------------------------
273 {
274 //---------------------------------------------------------------------------
285 //---------------------------------------------------------------------------
296 //---------------------------------------------------------------------------
297 // doxygen -> warning: unable to resolve reference to 'GLO_REF_DEPENDENT' for \ref command
298 // Is a reference to the GlobalObjects documentation.
299 //---------------------------------------------------------------------------
310 //---------------------------------------------------------------------------
322 //---------------------------------------------------------------------------
323 // doxygen -> warning: unable to resolve reference to 'GLO_REF_DEPENDENT' for \ref command
324 // Is a reference to the GlobalObjects documentation.
325 //---------------------------------------------------------------------------
341 //---------------------------------------------------------------------------
342 };
343 //===========================================================================
344
345 //===========================================================================
346 //-----------------------------------------------------------------------------
347 // doxygen -> warning: unable to resolve reference to 'PAGE_GLO_WATCH_NOTIFY' for \ref command
348 // doxygen -> warning: unable to resolve reference to 'GLO_INTRODUCTION' for \ref command
349 // doxygen -> warning: unable to resolve reference to 'GLO_REF_DEPENDENT' for \ref command
350 // Is a reference to the GlobalObjects documentation.
351 //-----------------------------------------------------------------------------
577 typedef unsigned long TdWatchNotifyMode;
578 //---------------------------------------------------------------------------
589 //---------------------------------------------------------------------------
606 //---------------------------------------------------------------------------
617 //---------------------------------------------------------------------------
634 //---------------------------------------------------------------------------
645 //---------------------------------------------------------------------------
662 //---------------------------------------------------------------------------
679 //---------------------------------------------------------------------------
692 //---------------------------------------------------------------------------
703 //---------------------------------------------------------------------------
715 //---------------------------------------------------------------------------
728 //---------------------------------------------------------------------------
740 //---------------------------------------------------------------------------
752 //---------------------------------------------------------------------------
763 //---------------------------------------------------------------------------
774 //---------------------------------------------------------------------------
785 //---------------------------------------------------------------------------
796 //---------------------------------------------------------------------------
807 //---------------------------------------------------------------------------
818 //---------------------------------------------------------------------------
829 //---------------------------------------------------------------------------
830 //===========================================================================
831
832 //===========================================================================
833 //-----------------------------------------------------------------------------
834 // doxygen -> warning: unable to resolve reference to 'GLO_SERVER_SL' for \ref command
835 // doxygen -> warning: unable to resolve reference to 'PAGE_GLO_SERVER' for \ref command
836 // Is a reference to the GlobalObjects documentation.
837 //-----------------------------------------------------------------------------
858 typedef unsigned long ShowLevel;
859 //---------------------------------------------------------------------------
879 const ShowLevel SHOW_TCP = 1;
960 //===========================================================================
961
962 //===========================================================================
963 //---------------------------------------------------------------------------
964 // doxygen -> warning: unable to resolve reference to 'PAGE_GLO_LOCKING' for \ref command
965 // doxygen -> warning: unable to resolve reference to 'GLO_INTRODUCTION' for \ref command
966 // Is a reference to the GlobalObjects documentation.
967 //---------------------------------------------------------------------------
1057 // |==============================================================================|
1058 // | Obj1 | Obj2 |
1059 // |------------------------------------------------------------------------------|
1060 // |LOCK | Guarantee | Protection | Allowed LOCKs | Possibilities | Restrictions |
1061 // |==============================================================================|
1062 // | NN | none | none | all | all | none |
1063 // | RD | R | D | RD, RW, WW, TW | R, W | D |
1064 // | RW | R | D, W | RD, RW | R | D, W |
1065 // | WW | R, W | D, W | RD | R | D, W |
1066 // | DW | R, W, D | D, W | none | R | D, W |
1067 // | DR | R, W, D | D, W, R | none | none | D, W, R |
1068 // | EX | R, W, D | D, W, R | none | none | D, W, R |
1069 // | TW | R, W | D, W | RD | R | D, W |
1070 // | TD | R, W, D | D, W | none | R | D, W |
1071 // |==============================================================================|
1072
1170 //===========================================================================
1171
1172 //===========================================================================
1209 //===========================================================================
1210
1211 //===========================================================================
1256 template <typename T> class Forgetter
1257 {
1258 public:
1259 void operator()(T * ptr )
1260 {
1261 ptr->forget();
1262 }
1263 };
1264 //===========================================================================
1265
1266 //===========================================================================
1279 {
1280 public:
1281 //============== Attribute
1282 //-----------------------------------------------------------------------
1293 //-----------------------------------------------------------------------
1304 //-----------------------------------------------------------------------
1315 //-----------------------------------------------------------------------
1316
1317 //============== Konstruktoren
1318 //-----------------------------------------------------------------------
1329 : m_bRead(false),
1330 m_bWrite(false),
1331 m_bDelete(false)
1332 {};
1333 //-----------------------------------------------------------------------
1353 LockPossibleSpecification( unsigned long ulValue )
1354 : m_bRead(false),
1355 m_bWrite(false),
1356 m_bDelete(false)
1357 {
1358 this->set( ulValue );
1359 };
1360 //-----------------------------------------------------------------------
1371 {};
1372 //-----------------------------------------------------------------------
1385 : m_bRead( rT.m_bRead ),
1386 m_bWrite( rT.m_bWrite ),
1387 m_bDelete( rT.m_bDelete )
1388 {
1389 };
1390 //-----------------------------------------------------------------------
1391
1392 //============== Methoden
1393 //-----------------------------------------------------------------------
1409 unsigned long getAsUL()
1410 {
1411 unsigned long t_ulRetVal(0);
1412
1413 if ( m_bRead ) t_ulRetVal |= 1;
1414 if ( m_bWrite ) t_ulRetVal |= 2;
1415 if ( m_bDelete ) t_ulRetVal |= 4;
1416 return t_ulRetVal;
1417 };
1418 //-----------------------------------------------------------------------
1436 void set( unsigned long ulValue )
1437 {
1438 m_bRead = false;
1439 m_bWrite = false;
1440 m_bDelete = false;
1441 if ( ulValue & 1 ) m_bRead = true;
1442 if ( ulValue & 2 ) m_bWrite = true;
1443 if ( ulValue & 4 ) m_bDelete = true;
1444 };
1445 //-----------------------------------------------------------------------
1446
1447 //============== Operatoren
1448 //-----------------------------------------------------------------------
1461 {
1462 if( this != & rT )
1463 {
1464 m_bRead = rT.m_bRead;
1465 m_bWrite = rT.m_bWrite;
1466 m_bDelete = rT.m_bDelete;
1467 }
1468 return *this;
1469 };
1470 //-----------------------------------------------------------------------
1472
1483 inline bool operator== ( const LockPossibleSpecification & rT ) const
1484 {
1485 if ( m_bRead == rT.m_bRead
1486 &&
1487 m_bWrite == rT.m_bWrite
1488 &&
1489 m_bDelete == rT.m_bDelete )
1490 {
1491 return true;
1492 }
1493 return false;
1494 };
1495 //-----------------------------------------------------------------------
1496 inline bool operator!= ( const LockPossibleSpecification & rT ) const
1497 {
1498 if ( *this == rT )
1499 {
1500 return false;
1501 }
1502 return true;
1503 };
1504
1505 //-----------------------------------------------------------------------
1506 };
1507 //===========================================================================
1508
1509 //===========================================================================
1520 {
1521 public:
1522 //============== Attribute
1523 //-----------------------------------------------------------------------
1533 unsigned long m_ulVersion;
1534 //-----------------------------------------------------------------------
1535 };
1536 //===========================================================================
1537
1538 //===========================================================================
1550 {
1551 public:
1552 //============== Attribute
1553 //-----------------------------------------------------------------------
1563 std::stack< ObjID > * m_pDependObjIdStack;
1564 //-----------------------------------------------------------------------
1575 //-----------------------------------------------------------------------
1576 };
1577 //===========================================================================
1578
1579 //===========================================================================
1652 //===========================================================================
1653} // namespace glo
1654//-----------------------------------------------------------------------------
1655#ifdef _MSC_VER
1656 /* 'Bezeichner': Klasse 'Typ' benötigt eine DLL-Schnittstelle, die von... */
1657 #pragma warning( default : 4251 )
1658#endif
1659//-----------------------------------------------------------------------------
1660#endif
Damit die Definition von 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:1257
void operator()(T *ptr)
Definition GloTypes.h:1259
Definition GloAbstractBaseLot.h:49
const TdWatchNotifyMode WNM_DELETE_TRANSACTION
Definition GloTypes.h:644
const TdWatchNotifyMode WNM_SERVER_WSAECONNRESET
Definition GloTypes.h:828
EnDeepMode
Definition GloTypes.h:273
@ DM_NOONDEMAND
Definition GloTypes.h:321
@ DM_FLAT
Definition GloTypes.h:295
@ DM_SHALLOW
Definition GloTypes.h:309
@ DM_DEEP
Definition GloTypes.h:340
@ DM_NONE
Definition GloTypes.h:284
const ShowLevel SHOW_CHECK_BASE_ACTION
Definition GloTypes.h:949
EnComparisionOp
Definition GloTypes.h:1590
@ LESS_EQUAL
Definition GloTypes.h:1640
@ LESS
Definition GloTypes.h:1630
@ NOT_EQUAL
Definition GloTypes.h:1650
@ GREATER_EQUAL
Definition GloTypes.h:1620
@ EQUAL
Definition GloTypes.h:1600
@ GREATER
Definition GloTypes.h:1610
const TdWatchNotifyMode WNM_CLIENT_CONNECTSERVER
Definition GloTypes.h:714
const ShowLevel SHOW_REINDEX_ACTION
Definition GloTypes.h:909
const ShowLevel SHOW_ORDER_ACTION
Definition GloTypes.h:899
EnLockMode
Definition GloTypes.h:1074
@ LK_READvWRITE
Definition GloTypes.h:1104
@ LK_TRANSACTION_WRITE
Definition GloTypes.h:1156
@ LK_NONE
Definition GloTypes.h:1084
@ LK_READvDELETE
Definition GloTypes.h:1094
@ LK_DELETEvREAD
Definition GloTypes.h:1134
@ LK_EXCLUSIVE
Definition GloTypes.h:1144
@ LK_WRITEvWRITE
Definition GloTypes.h:1114
@ LK_DELETEvWRITE
Definition GloTypes.h:1124
@ LK_TRANSACTION_DELETE
Definition GloTypes.h:1168
const TdWatchNotifyMode WNM_UNLOCK
Definition GloTypes.h:678
const char g_cIndexDelimiter
Definition GloTypes.h:100
const ShowLevel SHOW_REPAIR_BASE_ACTION
Definition GloTypes.h:959
const TdWatchNotifyMode WNM_DATABASE_REPAIR
Definition GloTypes.h:806
const TdWatchNotifyMode WNM_INSERT_TRANSACTION
Definition GloTypes.h:702
const ShowLevel SHOW_COMPRESS_ACTION
Definition GloTypes.h:939
const ShowLevel SHOW_NONE
Definition GloTypes.h:869
const TdWatchNotifyMode WNM_INDEX_READ
Definition GloTypes.h:762
const TdWatchNotifyMode WNM_LOCK
Definition GloTypes.h:661
const TdWatchNotifyMode WNM_WRITE_TRANSACTION
Definition GloTypes.h:616
const ShowLevel SHOW_WRITEINDEX_ACTION
Definition GloTypes.h:929
const std::string g_sEOL
Definition GloTypes.h:154
unsigned long ShowLevel
Definition GloTypes.h:858
const TdWatchNotifyMode WNM_CLIENT_DISCONNECTSERVER
Definition GloTypes.h:727
const TdWatchNotifyMode WNM_DATABASE_COMPRESS
Definition GloTypes.h:795
EnSeekMode
Definition GloTypes.h:192
@ END
Definition GloTypes.h:214
@ CURRENT
Definition GloTypes.h:225
@ START
Definition GloTypes.h:203
@ PREVIOUS
Definition GloTypes.h:247
@ NEXT
Definition GloTypes.h:236
const TdWatchNotifyMode WNM_INDEX_REINDEX
Definition GloTypes.h:784
EnQueryType
Definition GloTypes.h:1183
@ eQUERY_DIRECT
Definition GloTypes.h:1193
@ eQUERY_OQL
Definition GloTypes.h:1207
const char g_cTableColumnDelimiter
Definition GloTypes.h:123
const ShowLevel SHOW_READINDEX_ACTION
Definition GloTypes.h:919
const TdWatchNotifyMode WNM_INSERT
Definition GloTypes.h:691
const TdWatchNotifyMode WNM_INDEX_WRITE
Definition GloTypes.h:773
const TdWatchNotifyMode WNM_WRITE
Definition GloTypes.h:605
unsigned long TdWatchNotifyMode
Definition GloTypes.h:577
const TdWatchNotifyMode WNM_DELETE
Definition GloTypes.h:633
const ShowLevel SHOW_TCP
Definition GloTypes.h:879
const ShowLevel SHOW_READ_WRITE
Definition GloTypes.h:889
const TdWatchNotifyMode WNM_NONE
Definition GloTypes.h:588
const TdWatchNotifyMode WNM_CLIENT_CLOSEBASE
Definition GloTypes.h:751
const TdWatchNotifyMode WNM_CLIENT_OPENBASE
Definition GloTypes.h:739
const TdWatchNotifyMode WNM_DATABASE_CHECK
Definition GloTypes.h:817
Eine Struktur um mehrere Objekt-IDs mit einem 'Tiefenmodus' zu transportieren.
Definition GloTypes.h:1550
std::stack< ObjID > * m_pDependObjIdStack
Definition GloTypes.h:1563
EnDeepMode m_eDeepMode
Definition GloTypes.h:1574
bool m_bRead
Definition GloTypes.h:1292
LockPossibleSpecification()
Definition GloTypes.h:1328
LockPossibleSpecification(const LockPossibleSpecification &rT)
Definition GloTypes.h:1384
bool m_bWrite
Definition GloTypes.h:1303
LockPossibleSpecification & operator=(const LockPossibleSpecification &rT)
Definition GloTypes.h:1460
bool m_bDelete
Definition GloTypes.h:1314
virtual ~LockPossibleSpecification()
Definition GloTypes.h:1370
bool operator!=(const LockPossibleSpecification &rT) const
Vergleichsoperator.
Definition GloTypes.h:1496
unsigned long getAsUL()
Definition GloTypes.h:1409
bool operator==(const LockPossibleSpecification &rT) const
Vergleichsoperator.
Definition GloTypes.h:1483
void set(unsigned long ulValue)
Definition GloTypes.h:1436
LockPossibleSpecification(unsigned long ulValue)
Definition GloTypes.h:1353
Zum Öffnen einer Datenbank wird diese Info in die OrderMsg einegfügt.
Definition GloTypes.h:1520
unsigned long m_ulVersion
Definition GloTypes.h:1533