GlobalObjects
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
GloTypes.h
Go to the documentation of this file.
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 //===========================================================================
1205 //===========================================================================
1206
1207 //===========================================================================
1252 template <typename T> class Forgetter
1253 {
1254 public:
1255 void operator()(T * ptr )
1256 {
1257 ptr->forget();
1258 }
1259 };
1260 //===========================================================================
1261
1262 //===========================================================================
1275 {
1276 public:
1277 //============== Attribute
1278 //-----------------------------------------------------------------------
1289 //-----------------------------------------------------------------------
1300 //-----------------------------------------------------------------------
1311 //-----------------------------------------------------------------------
1312
1313 //============== Konstruktoren
1314 //-----------------------------------------------------------------------
1325 : m_bRead(false),
1326 m_bWrite(false),
1327 m_bDelete(false)
1328 {};
1329 //-----------------------------------------------------------------------
1349 LockPossibleSpecification( unsigned long ulValue )
1350 : m_bRead(false),
1351 m_bWrite(false),
1352 m_bDelete(false)
1353 {
1354 this->set( ulValue );
1355 };
1356 //-----------------------------------------------------------------------
1367 {};
1368 //-----------------------------------------------------------------------
1381 : m_bRead( rT.m_bRead ),
1382 m_bWrite( rT.m_bWrite ),
1383 m_bDelete( rT.m_bDelete )
1384 {
1385 };
1386 //-----------------------------------------------------------------------
1387
1388 //============== Methoden
1389 //-----------------------------------------------------------------------
1405 unsigned long getAsUL()
1406 {
1407 unsigned long t_ulRetVal(0);
1408
1409 if ( m_bRead ) t_ulRetVal |= 1;
1410 if ( m_bWrite ) t_ulRetVal |= 2;
1411 if ( m_bDelete ) t_ulRetVal |= 4;
1412 return t_ulRetVal;
1413 };
1414 //-----------------------------------------------------------------------
1432 void set( unsigned long ulValue )
1433 {
1434 m_bRead = false;
1435 m_bWrite = false;
1436 m_bDelete = false;
1437 if ( ulValue & 1 ) m_bRead = true;
1438 if ( ulValue & 2 ) m_bWrite = true;
1439 if ( ulValue & 4 ) m_bDelete = true;
1440 };
1441 //-----------------------------------------------------------------------
1442
1443 //============== Operatoren
1444 //-----------------------------------------------------------------------
1457 {
1458 if( this != & rT )
1459 {
1460 m_bRead = rT.m_bRead;
1461 m_bWrite = rT.m_bWrite;
1462 m_bDelete = rT.m_bDelete;
1463 }
1464 return *this;
1465 };
1466 //-----------------------------------------------------------------------
1468
1479 inline bool operator== ( const LockPossibleSpecification & rT ) const
1480 {
1481 if ( m_bRead == rT.m_bRead
1482 &&
1483 m_bWrite == rT.m_bWrite
1484 &&
1485 m_bDelete == rT.m_bDelete )
1486 {
1487 return true;
1488 }
1489 return false;
1490 };
1491 //-----------------------------------------------------------------------
1492 inline bool operator!= ( const LockPossibleSpecification & rT ) const
1493 {
1494 if ( *this == rT )
1495 {
1496 return false;
1497 }
1498 return true;
1499 };
1500
1501 //-----------------------------------------------------------------------
1502 };
1503 //===========================================================================
1504
1505 //===========================================================================
1516 {
1517 public:
1518 //============== Attribute
1519 //-----------------------------------------------------------------------
1529 unsigned long m_ulVersion;
1530 //-----------------------------------------------------------------------
1531 };
1532 //===========================================================================
1533
1534 //===========================================================================
1546 {
1547 public:
1548 //============== Attribute
1549 //-----------------------------------------------------------------------
1559 std::stack< ObjID > * m_pDependObjIdStack;
1560 //-----------------------------------------------------------------------
1571 //-----------------------------------------------------------------------
1572 };
1573 //===========================================================================
1574
1575 //===========================================================================
1648 //===========================================================================
1649} // namespace glo
1650//-----------------------------------------------------------------------------
1651#ifdef _MSC_VER
1652 /* 'Bezeichner': Klasse 'Typ' benötigt eine DLL-Schnittstelle, die von... */
1653 #pragma warning( default : 4251 )
1654#endif
1655//-----------------------------------------------------------------------------
1656#endif
For each library, here 'GlobalObjects' there is an error file.
Header of the GlobalObjects record attributetypes.
Especially for GenericPersistent or derived classes of Persistent the Forget method for std::shared_p...
Definition GloTypes.h:1253
void operator()(T *ptr)
Definition GloTypes.h:1255
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:1586
@ LESS_EQUAL
Definition GloTypes.h:1636
@ LESS
Definition GloTypes.h:1626
@ NOT_EQUAL
Definition GloTypes.h:1646
@ GREATER_EQUAL
Definition GloTypes.h:1616
@ EQUAL
Definition GloTypes.h:1596
@ GREATER
Definition GloTypes.h:1606
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:1203
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
A structure to transport multiple object IDs with a 'depth mode'.
Definition GloTypes.h:1546
std::stack< ObjID > * m_pDependObjIdStack
Definition GloTypes.h:1559
EnDeepMode m_eDeepMode
Definition GloTypes.h:1570
bool m_bRead
Definition GloTypes.h:1288
LockPossibleSpecification()
Definition GloTypes.h:1324
LockPossibleSpecification(const LockPossibleSpecification &rT)
Definition GloTypes.h:1380
bool m_bWrite
Definition GloTypes.h:1299
LockPossibleSpecification & operator=(const LockPossibleSpecification &rT)
Definition GloTypes.h:1456
bool m_bDelete
Definition GloTypes.h:1310
virtual ~LockPossibleSpecification()
Definition GloTypes.h:1366
bool operator!=(const LockPossibleSpecification &rT) const
Comparison operator.
Definition GloTypes.h:1492
unsigned long getAsUL()
Definition GloTypes.h:1405
bool operator==(const LockPossibleSpecification &rT) const
Comparison operator.
Definition GloTypes.h:1479
void set(unsigned long ulValue)
Definition GloTypes.h:1432
LockPossibleSpecification(unsigned long ulValue)
Definition GloTypes.h:1349
To open a database this info is inserted into OrderMsg.
Definition GloTypes.h:1516
unsigned long m_ulVersion
Definition GloTypes.h:1529