GlobalObjects
Loading...
Searching...
No Matches
glo Namespace Reference

Namespaces

namespace  Limits
 A wrapper around static functions which provide limitations on record attributes.
 

Classes

class  AbstractBaseLot
 The base class for container with persistent objects. More...
 
class  AllSetIndexInfo
 For transmitting index information. More...
 
class  AllSetIteratorResult
 BasePersistent objects can be queried from the database. If the BasePersistent object is locked, the ObjID should still be delivered. This is the class for the response object. More...
 
class  AllSetStruct
 Is needed to transfer AllSet information in a OrderMsg More...
 
class  APointerRecordAttribute
 Abstract class for pointer and embeddet attributes of a Record. More...
 
class  AttributeID
 This class reflects a unique ID of a class information attribute. More...
 
class  Base
 
class  BaseAllSet
 Is the base class of template AllSets and the generic AllSet. More...
 
class  BaseFitter
 If there is something wrong with a GlobalObjects database, or if it needs to be handled otherwise, the object of this class is the right place to go.
Here you can repair and copy over. More...
 
class  BaseLot
 Is the base class of pointer and on-demand sets or pointer and on-demand lists. More...
 
class  BaseMaker
 Generated using the SchemaInterface, data tables, C++ header and source files etc.. More...
 
class  BasePersistent
 Abstract base class for Persistent and the generic GenericPersistent. More...
 
class  BaseRecordAttribute
 Base class for the individual attributes of a Record. More...
 
class  BlobRecordAttribute
 Class for the blob attributes of a Record. More...
 
class  BoolRecordAttribute
 Class for the bool attributes of a Record. More...
 
class  CallBack
 Superclass for the classes that are 'connected' to a Base. More...
 
class  CallBackSpy
 Class to access the CallBack objects of a database in memory. More...
 
class  CharRecordAttribute
 Class for the char attributes of a Record. Represents an attribute of type 'char' of a Record. More...
 
class  ClassInfo
 This class contains all information to store objects of a class in a database, to build objects from tables and to build tables from objects. More...
 
class  ClassInfoAttribute
 In objects of this class, the information for GlobalObjects is how a persistent class attribute is structured. More...
 
class  ClassInfoIndex
 In objects of this class, the information for GlobalObjects is how an index is structured. More...
 
class  ClassInfoItem
 Base class of a ClassInfoAttribute and a ClassInfoIndex. More...
 
class  Client
 The client, which communicates with a GloServer. More...
 
struct  ClientInfo
 A structure to transport client data between database and client. More...
 
class  ClientThread
 Objects of this class serve as interface between Base or PrivateBase and Manager. In the documentation the LocalThread is also called client communicator, if NOT the server communicator (ServerThread) is meant. More...
 
class  CommunicaterThread
 A CommunicaterThread accepts requests for its TableReaderInterface. More...
 
class  Communicator
 Superclass of LocalThread, ClientThread and ServerThread, because they can act as senders and receivers (communicators) of requests and inherit a send and receive method for this. More...
 
class  ComparisionIndexQueryStruct
 Is needed to transfer index query information in a OrderMsg.
By means of this structure results can be determined using "<", "<=", ">", ">=", "==" and "!=".
For example, if the Index has the value "123" and the comparision operator has the value LESS, all objects with an index lower than "123" will be returned. More...
 
class  DataStreamer
 This class encodes or decodes data for transport in a TCP packet. More...
 
class  DateTimeRecordAttribute
 Class for the DateTime attributes of a Record. Represents an attribute of the type 'std::time_t' of a persistent object. More...
 
struct  DependentObjsWithDeepMode
 A structure to transport multiple object IDs with a 'depth mode'. More...
 
class  DoubleListRecordAttribute
 Class for the double-list attributes of a Record. More...
 
class  DoubleLotRecordAttribute
 Base class for different double-container attributes of a Record. More...
 
class  DoubleRecordAttribute
 Class for the double attributes of a Record. More...
 
class  DoubleSetRecordAttribute
 Class for the double-set attributes of a Record. More...
 
class  DoubleVectorRecordAttribute
 Class for the double-vector attributes of a GloRecord. More...
 
class  EmbeddedRecordAttribute
 Class for the embedded persistent object attributes of a Record. Represents an attribute of the derived type of Persistent. The embedded object is generally loaded with the owning object. More...
 
class  FloatRecordAttribute
 Class for the float attributes of a Record. More...
 
class  FNumRecordAttribute
 Represents as superclass all floating point number attributes of a persistent object. More...
 
class  Forgetter
 Especially for GenericPersistent or derived classes of Persistent the Forget method for std::shared_ptr. More...
 
class  GenericAllSet
 AllSet, which returns generic objects. More...
 
class  GenericPersistent
 Generic persistent class. Does not require ObjCreator or ObjectMaker. Objects from the database can be edited without having to know their type. More...
 
class  GenPersObjectSpy
 Class to access the generic persistent objects of a database in memory. More...
 
class  IDRecordAttribute
 Superclass for ObjID and ObjID reference attributes of a Record. More...
 
class  IndexPool
 IndexPool is the base class for the RealIndexPool and the TransactionIndexPool for the individual transactions. More...
 
class  IndexQueryBaseStruct
 
class  IndexQueryStruct
 Is needed to transfer index query information in a OrderMsg. More...
 
class  IntListRecordAttribute
 Class for the integer-list attributes of a Record. More...
 
class  IntLotRecordAttribute
 Base class for different integer-container attributes of a Record. More...
 
class  IntRecordAttribute
 Class for the integer attributes of a Record. Represents an attribute of the type 'int' of a persistent object. More...
 
class  IntSetRecordAttribute
 Class for the integer-set attributes of a Record. More...
 
class  IntVectorRecordAttribute
 Class for the integer-vector attributes of a Record. More...
 
class  INumRecordAttribute
 Represents as superclass all integer attributes of a Record. More...
 
class  LimitRecord
 In objects of this class the min and max values of supported data types and their field lengths are transported in the tables. More...
 
class  LocalThread
 Serves as interface between Base or PrivateBase and Manager. In the documentation the ClientThread is also referred to as the client communicator, if NOT the server communicator (ServerThread) is meant. More...
 
class  LockManager
 Objects of this class monitor the lock state of persistent objects. More...
 
struct  LockPossibleSpecification
 Permitted actions in the database such as read, write and delete can be queried for an object. This is the answer. More...
 
class  LockSpecification
 To be able to lock objects, the 'lock mode' and the 'lock depth' are required as parameters. This is possible with this structure. More...
 
class  LongDoubleRecordAttribute
 Class for the long double attributes of a Record. More...
 
class  LongLongRecordAttribute
 Class for the long long attributes of a Record. Represents an attribute of the type 'long long' of a persistent object. More...
 
class  LongRecordAttribute
 Class for the long attributes of a Record. Represents an attribute of the type 'long' of a persistent object. More...
 
class  LotRecordAttribute
 Base class for item container attributes of a Record. More...
 
class  Manager
 The object of this class is the central point of contact for actions that deal with GlobalObjects data. More...
 
class  ManagerActionVisualiser
 Shows the actions of the Manager via std::cout More...
 
struct  NotifyNote
 Object info of the WatchNotifyManager for the watching instance.
See detailed description in the manual under "Watching / notifying persistent objects". More...
 
class  ObjCreator
 Abstract superclass for instantiation functions of persistent classes. From this class a subclass is derived for each database from a schema, which can instantiate persistent objects from the class IDs. More...
 
class  ObjectMaker
 This class can instantiate a persistent object from a record or fill a persistent object and vice versa. More...
 
class  ObjID
  An object ID consists of the class ID, a database ID and the actual unique object number (all unsigned long). More...
 
class  ObjIDRecordAttribute
 A class for the object ID attributes of a Record. Represents an attribute of type 'ObjID'. More...
 
class  ObjIDRecordTuple
 A tuple of record and object ID. More...
 
class  OdRefListRecordAttribute
 Class for the ondemand list attributes of a Record. More...
 
class  OdRefRecordAttribute
 Class for the on-demand reference attributes of a Record. Represents an attribute of type 'TOndemand<MyPersClass>' and MyPersClass is a persistent object. The referenced object is generally not automatically loaded with the owning object. More...
 
class  OdRefSetRecordAttribute
 Class for the ondemand set attributes of a Record. More...
 
class  OndemandList
 Is the base class of Template-Ondemand-List. The objects are managed in a std::list.
Objects can also be inserted multiple times and in any order. More...
 
class  OndemandLot
 Is the abstract base class of on-demand sets and lists. More...
 
class  OndemandSet
 Is the base class of Template-Ondemand-Set.
Objects can be inserted only once. More...
 
class  OpenedDatabases
 Class to access the opened databases. More...
 
struct  OpenSpecification
 To open a database this info is inserted into OrderMsg. More...
 
class  OrderMsg
 This class is used to handle the communication between the application that uses GlobalObjects and GlobalObjects. More...
 
class  Persistent
 The base class of the persistent classes. All persistent classes must be derived from this class to be able to process their objects in the database. More...
 
class  PersObjectSpy
 Class to access the persistent objects of a database in memory. More...
 
class  PointerList
 Is the base class of a template list. The persistent objects are managed in a std::list.
Objects can also be inserted multiple times and in any order. More...
 
class  PointerLot
 Is the abstract base class of pointer sets and lists. More...
 
class  PointerSet
 Is the base class of a template set. The persistent objects are managed in a std::set.
Objects can be inserted only once. More...
 
class  PoRefListRecordAttribute
 Class for the pointer list attributes of a Record. More...
 
class  PoRefRecordAttribute
 Class for pointers to persistent object attributes of a Record. Represents an attribute of the derived type of Persistent. The referenced object is generally loaded together with the owner object. More...
 
class  PoRefSetRecordAttribute
 Class for the pointer set attributes of a Record. More...
 
class  PrivateBase
 In this class functions for Base are encapsulated. The Base interface is not affected by any changes in functionality. More...
 
class  RangeIndexQueryStruct
 Is needed to transfer index query information in a OrderMsg.
By means of this structure, results can be determined by means of range specification.
For example, if m_sIndex has the value "123" and m_sRangeEndIndex has the value "155", all objects with an index greater than/equal to "123" and less than/equal to "155" will be delivered. More...
 
struct  ReaderInfo
 Objects of this structure transport data to objects of type TableReaderInterface. More...
 
struct  ReaderWriterInfo
 Objects of this structure transport data to objects of type TableReaderInterface and TableWriterInterface. More...
 
class  RealIndexPool
 The real index as opposed to the TransactionIndexPool, which is created for each transaction More...
 
class  Record
 Objects of this class transport the data from the tables into the persistent object and from these again into the tables. More...
 
class  Reference
 The base class of a reference attribute from persistent objects to other persistent objects in the database. More...
 
class  SchemaInterface
 This class is the interface to a GlobalObjects schema. It contains all class information to store objects of persistent classes in a database and to build objects from tables and tables from objects. More...
 
class  Server
 The server that communicates with Client's More...
 
class  ServerThread
 An object of this class serves as interface between Manager and Base or PrivateBase. More...
 
class  ShortRecordAttribute
 Class for the short attributes of a Record. Represents an attribute of the type 'short' of a persistent object. More...
 
class  StdShrdPoRefRecordAttribute
 A class for a std::shared_ptr on persistent object attributes of a Record. Represents an attribute of type 'std::shared_ptr<MyPersClass>' and MyPersClass is a persistent object. The referenced object is generally loaded together with the owner object. More...
 
class  StdUnqPoRefRecordAttribute
 A class for a std::unique_ptr on persistent object attributes of a Record. Represents an attribute of type 'std::unique_ptr<MyPersClass>' and MyPersClass is a persistent object. The referenced object is generally loaded together with the owner object. More...
 
class  StringListRecordAttribute
 Class for the string-list attributes of a Record. More...
 
class  StringLotRecordAttribute
 Base class for different string-container attributes of a Record. More...
 
class  StringRecordAttribute
 Class for the string attributes of a Record. Represents an attribute of the type 'std::string' of a persistent object. More...
 
class  StringSetRecordAttribute
 Class for the string-set attributes of a Record. More...
 
class  StringVectorRecordAttribute
 Class for the string-vector attributes of a Record. More...
 
class  TableInterface
 An object of this class or subclass accesses tables and reads or writes data records (Record) and binary files (eut::Blob). More...
 
class  TableReaderInterface
 An object of this class accesses tables and reads data records (Record) and binary files (eut::Blob). More...
 
class  TableWriterInterface
 An object of this class accesses tables and writes data records (Record) and binary files (eut::Blob) into text tables resp. the file system. More...
 
class  TAllSet
 AllSet, which returns objects from the database. More...
 
class  TcpServerReceiver
 Class that communicates with a tcp::Client via a SOCKET and delivers the result of the reception of the type Message to its parent, which must be a Server. The deliver to the parent via method acceptMessage(AbstractMessage*) has been changed by overwriting, the Manager is addressed if necessary. More...
 
class  TDVList
 
class  TOndemand
 A reference (as attribute) of a persistent object to another persistent object in the database. More...
 
class  TOndemandList
 A type-safe list of references to persistent objects in the database (intended as an attribute for persistent objects). More...
 
class  TOndemandSet
 A type-safe set of references to persistent objects in the database (intended as an attribute for persistent objects).
Objects can be inserted only once. More...
 
class  TPointerList
 A type-safe list of pointers to persistent objects in the database (intended as an attribute for persistent objects). More...
 
class  TPointerSet
 A type-safe set of pointers to persistent objects in the database (intended as an attribute for persistent objects).
Objects can be inserted only once. More...
 
class  TransactionIndexPool
 This index is generated in each transaction and changes such as saving, deleting or inserting an object are only entered here until the transaction is committed or aborted. More...
 
class  TransactionManager
 class to guarantee transactions. More...
 
class  TransactionOwner
 In order to make transactions available not only to a glo::Communicator, but also to individual threads of the glo::Communicator, objects of this class combine the two pieces of information and can thus be used as an indicator.
The same applies to locking objects. More...
 
class  TypeLotRecordAttribute
 Base class for string-, integer- and double-container attributes of a Record. More...
 
class  UCharRecordAttribute
 Class for the unsigned char attributes of a Record. Represents an attribute of the type 'unsigned char' of a persistent object. More...
 
class  UIntRecordAttribute
 Class for the unsigned integrer attributes of a Record. Represents an attribute of the type 'unsigned int' of a persistent object. More...
 
class  ULongLongRecordAttribute
 Class for the unsigned long long attributes of a Record. Represents an attribute of the type 'unsigned long long' of a persistent object. More...
 
class  ULongRecordAttribute
 Class for the unsigned long attributes of a Record. Represents an attribute of the type 'unsigned long' of a persistent object. More...
 
class  UShortRecordAttribute
 Class for the unsigned short attributes of a Record. Represents an attribute of the type 'unsigned short' of a persistent object. More...
 
class  WatchNotifyManager
 Classes to monitor persistent objects and to notify the respective clients of changes. More...
 
class  WatchSpecification
 To be able to watch objects, the 'watching mode', the 'watching depth' and the 'notification object' must be passed as parameters. This is possible with this structure. More...
 
struct  WriterInfo
 Objects of this structure transport data to objects of type TableWriterInterface. More...
 

Typedefs

typedef const std::string CppTypeString
 
typedef unsigned long DATA_REFERENCE_INFO
 
typedef const std::string SchemaTypeString
 
typedef unsigned long ShowLevel
 
typedef unsigned long TdWatchNotifyMode
 
typedef const unsigned short TypeDataLength
 

Enumerations

enum  EnComparisionOp {
  EQUAL , GREATER , GREATER_EQUAL , LESS ,
  LESS_EQUAL , NOT_EQUAL
}
 
enum  EnDataType {
  eDATATYPE_UNDEF = 0 , eDATATYPE_BLOB , eDATATYPE_BOOL , eDATATYPE_CHAR ,
  eDATATYPE_CHAR_UNSIGNED , eDATATYPE_SHORT , eDATATYPE_SHORT_UNSIGNED , eDATATYPE_INT ,
  eDATATYPE_INT_UNSIGNED , eDATATYPE_LONG , eDATATYPE_LONG_UNSIGNED , eDATATYPE_LONGLONG ,
  eDATATYPE_LONGLONG_UNSIGNED , eDATATYPE_FLOAT , eDATATYPE_DOUBLE , eDATATYPE_LONGDOUBLE ,
  eDATATYPE_DATE_TIME , eDATATYPE_EMBEDDED , eDATATYPE_LIST_DOUBLE , eDATATYPE_LIST_INT ,
  eDATATYPE_LIST_STRING , eDATATYPE_OBJID , eDATATYPE_ONDEMAND , eDATATYPE_POINTER ,
  eDATATYPE_REFLIST_ONDEMAND , eDATATYPE_REFSET_ONDEMAND , eDATATYPE_REFLIST_POINTER , eDATATYPE_REFSET_POINTER ,
  eDATATYPE_SET_DOUBLE , eDATATYPE_SET_INT , eDATATYPE_SET_STRING , eDATATYPE_STDSHAREDPOINTER ,
  eDATATYPE_STDUNIQUEPOINTER , eDATATYPE_STRING , eDATATYPE_VECTOR_DOUBLE , eDATATYPE_VECTOR_INT ,
  eDATATYPE_VECTOR_STRING , eDATATYPE_ENUM_SIZE
}
 
enum  EnDataTypeGroup {
  eDATATYPEGROUP_NOTHING = 0 , eDATATYPEGROUP_DECIMAL = 1 , eDATATYPEGROUP_FIXEDLENGTH = 2 , eDATATYPEGROUP_INTEGER = 3 ,
  eDATATYPEGROUP_PTR_REFERENCE = 4 , eDATATYPEGROUP_POD_REFERENCE = 5
}
 
enum  EnDeepMode {
  DM_NONE = 0 , DM_FLAT = 1 , DM_SHALLOW = 2 , DM_NOONDEMAND = 3 ,
  DM_DEEP = 4
}
 
enum  EnLockMode {
  LK_NONE = 0 , LK_READvDELETE = 1 , LK_READvWRITE = 2 , LK_WRITEvWRITE = 3 ,
  LK_DELETEvWRITE = 4 , LK_DELETEvREAD = 5 , LK_EXCLUSIVE = 6 , LK_TRANSACTION_WRITE = 7 ,
  LK_TRANSACTION_DELETE = 8
}
 
enum  EnQueryType { eQUERY_DIRECT , eQUERY_OQL }
 
enum  EnSeekMode {
  START , END , CURRENT , NEXT ,
  PREVIOUS
}
 
enum  ERRORS {
  ERR_PARAMETER_NULL_VORBIDDEN = -13001 , ERR_NEW = -13002 , ERR_CAST = -13003 , ERR_METHOD_FORBIDDEN = -13004 ,
  ERR_ATTRIBUT_TYPE_UNKNOWN = -13005 , ERR_SUPERCLASS_NEEDED = -13006 , ERR_OBJID_INVALID = -13007 , ERR_OPEN_TABLE = -13008 ,
  ERR_NO_OPEN_TABLE = -13009 , ERR_PERS_OBJ_MUST_BE_LOADED = -13010 , ERR_CLASSINFO_NOT_IN_SCHEMA = -13011 , ERR_CLASSINFOATTRIBUTE_NOT_IN_SCHEMA = -13012 ,
  ERR_HCC_NO_INCLUDE_GUARD_PARTITION = -13013 , ERR_CLASSID_DOESNT_MATCH = -13014 , ERR_RECORD_ATTRIBUTE_ALREADY_EXISTING = -13015 , ERR_OBJID_OUT_OF_RANGE = -13016 ,
  ERR_OBJID_TABLE = -13017 , ERR_RECORD_ATTRIBUTE_NOT_IN_TABLE = -13018 , ERR_NO_CLASSINFOATTRIBUTE = -13019 , ERR_TABLENAME_NEEDED = -13020 ,
  ERR_FILE_DELETE_FAILED = -13021 , ERR_OBJID_NOT_FOUND = -13022 , GLOERR_NO_RECEIVER = -13023 , ERR_NO_READER = -13024 ,
  ERR_UNKNOWN_ORDERTYPE = -13025 , ERR_NO_DBMANAGER = -13026 , ERR_ALREADY_REGISTERED_IN_BASE = -13027 , ERR_NOT_REGISTERED_IN_BASE = -13028 ,
  ERR_ALREADY_IN_LOT = -13029 , ERR_OBJECT_NOT_FOUND = -13030 , ERR_NO_WRITER = -13031 , ERR_RANGE = -13032 ,
  ERR_WRONG_OBJ_MAKER = -13033 , ERR_IS_NOT_ASSIGNED = -13034 , ERR_PARA_MISMATCH = -13035 , ERR_FILE_POSITION = -13036 ,
  ERR_NO_SCHEMA = -13037 , ERR_IS_ALREADY_ASSIGNED = -13038 , ERR_NO_FILENUMBERS = -13039 , ERR_OBJ_ALREADY_IN_OBJSPY = -13040 ,
  ERR_OBJ_NOT_IN_OBJSPY = -13041 , ERR_NO_OBJ_MAKER = -13042 , ERR_WRONG_TYPE = -13043 , ERR_NO_REFERENCE = -13044 ,
  ERR_NOT_FOUND = -13045 , ERR_NO_BASE = -13046 , ERR_ATTRIBUTE_NOT_IN_CLASSATTRIBUTE_OBJECT = -13047 , ERR_WRONG_BASE = -13048 ,
  ERR_BASE_NOT_OPEN = -13049 , ERR_BASE_ALREADY_OPEN = -13050 , ERR_NO_OBJ_CREATOR = -13051 , ERR_OBJECT_LOCKED = -13052 ,
  ERR_OBJECT_NOT_LOCKED = -13053 , ERR_WRONG_LOCK_MODE = -13054 , ERR_NO_TRANSACTION = -13055 , ERR_WRONG_WATCH_MODE = -13056 ,
  ERR_OBJECT_WATCHED = -13057 , ERR_OBJECT_NOT_WATCHED = -13058 , ERR_NO_CALLBACK = -13059 , ERR_INDEX_ALREADY_EXISTING = -13060 ,
  ERR_NO_INDEX = -13061 , ERR_NO_FREEINDEX_EXISTING = -13062 , ERR_FREEINDEX_ALREADY_EXISTING = -13063 , ERR_NO_TABLEOBJIDINDEX_EXISTING = -13064 ,
  ERR_TABLEOBJIDINDEX_ALREADY_EXISTING = -13065 , ERR_NO_SCHEMAINDEX_EXISTING = -13066 , ERR_SCHEMAINDEX_ALREADY_EXISTING = -13067 , ERR_NO_INDEXPOOL = -13068 ,
  ERR_HCC_NO_NAMESPACE_DECL_PARTITION = -13069 , ERR_ALLSET_ALREADY_OPEN = -13070 , ERR_ALLSET_NOT_OPEN = -13071 , ERR_CORRUPT_INDEX = -13072 ,
  ERR_UNKNOWN_CLASSID = -13073 , ERR_NO_TRANSACTIONINDEXPOOL_EXISTING = -13074 , ERR_TRANSACTIONINDEXPOOL_ALREADY_EXISTING = -13075 , ERR_NO_CORRECT_STREAM_DATA = -13076 ,
  ERR_NO_PARENT_CLIENT_THREAD = -13077 , ERR_NO_TCPCLIENT = -13078 , ERR_NO_PORT = -13079 , ERR_UNKNOWN_CLASSNAME = -13080 ,
  ERR_ORDER_INDEX_ALREADY_EXISTING = -13081 , ERR_ORDER_STOP = -13082 , ERR_NO_TCP_READER = -13083 , ERR_NO_TCP_WRITER = -13084 ,
  ERR_SERVER_CONNECTION_BROKEN = -13085 , ERR_ATTRIBUTE_NOT_IN_SOURCE_OBJECT = -13086 , ERR_RECORD_READY = -13087 , ERR_NO_INDEX_FILE_ODX = -13088 ,
  ERR_NO_INDEX_FILE_FDX = -13089 , ERR_NO_READER_ALLOWED = -13090 , ERR_NO_DB_INI = -13091 , ERR_SCHEMA_NOT_IN_DB_INI = -13092 ,
  ERR_NO_COMMUNICATOR = -13093 , ERR_CLASSINFO_ALREADY_EXISTING = -13094 , ERR_NO_OPEN_SPEC = -13095 , ERR_SCHEMA_DIFFERENT_VERSION = -13096 ,
  ERR_ALREADY_CONNECTED = -13097 , ERR_NOT_CONNECTED = -13098 , ERR_ONLY_ONE_BASE_PER_CONNECTION = -13099 , ERR_WRONG_ORDERTYPE = -13100 ,
  ERR_NO_RECORD = -13101 , ERR_DATABASE_CHANGE_NOT_POSSIBLE = -13102 , ERR_OBJID_DOESNT_MATCH = -13103 , ERR_DOUBLE_ALLOCATION_DATABASE_ID = -13104 ,
  ERR_MISSING_ORDER_OBJECT = -13105 , ERR_ONLY_ONE_CONNECTION = -13106 , ERR_HCC_NO_KNOWN_FORMAT = -13107 , ERR_HCC_NO_ATTRIBUTE_PARTITION = -13108 ,
  ERR_HCC_NO_METHOD_DECL_PARTITION = -13109 , ERR_HCC_NO_METHOD_IMP_PARTITION = -13110 , ERR_CPP_NO_METHOD_IMP_PARTITION = -13111 , ERR_FREE_11 = -13112 ,
  ERR_SCHEMA_NOT_FOUND = -13113 , ERR_FREE_12 = -13114 , ERR_WRONG_CLASSINFOINDEX = -13115 , ERR_INDEXTUBLE_ALREADY_IN_MAP = -13116 ,
  ERR_OBJSTRINDEX_ALREADY_EXISTING = -13117 , ERR_NO_OBJSTRINDEX_EXISTING = -13118 , ERR_NO_INDEX_FILE_SDX = -13119 , ERR_UNKNOWN_INDEX = -13120 ,
  ERR_NOT_COMPLETELY_INDEX = -13121 , ERR_SCHEMA_ALREADY_EXISTING = -13122 , ERR_CLASSINFO_NOT_EXISTING = -13123 , ERR_CLASSINFOATTRIBUTE_ALREADY_EXISTING = -13124 ,
  ERR_CLASSINFOATTRIBUTE_NAME_ALREADY_EXISTING = -13125 , ERR_CLASSINFOATTRIBUTE_TABLENAME_ALREADY_EXISTING = -13126 , ERR_CLASSINFOINDEX_NOT_IN_SCHEMA = -13127 , ERR_NOT_IMPLEMENTED_YET = -13128 ,
  ERR_UNKNOWN_OBJECT_TYPE = -13129 , ERR_BASE_NOT_LOCKED = -13130 , ERR_BASE_LOCKED = -13131 , ERR_NO_CLASSES = -13132 ,
  ERR_TABLE_EXISTING = -13133 , ERR_HEADER_EXISTING = -13134 , ERR_SOURCE_EXISTING = -13135 , ERR_OBJCREATOR_EXISTING = -13136 ,
  ERR_ATTRIBUTE_REFERENCE_NOT_EXISTING = -13137 , ERR_INDEX_REFERENCE_NOT_EXISTING = -13138 , ERR_NO_LAST_OBJ_ID_FILE = -13139 , ERR_NO_LAST_OBJ_FILE_NUM = -13140 ,
  ERR_OBJECT_ALREADY_DELETED = -13141 , ERR_DELETEDOBJID_ALREADY_EXISTING = -13142 , ERR_HCC_NO_FORWARD_PARTITION = -13143 , ERR_HCC_NO_SUPER_INC_PARTITION = -13144 ,
  ERR_HCC_NO_REF_INC_PARTITION = -13145 , ERR_HCC_NO_CLASS_DECL_PARTITION = -13146 , ERR_NO_LOCK_QUANTITY = -13147 , ERR_NO_LOCK_SPECIFICATION = -13148 ,
  ERR_INSERTION_FAILES = -13149 , ERR_INSERT_IN_UNIQUE_LIST = -13150 , ERR_TABLE_RENAME = -13151 , ERR_TABLE_DELETE = -13152 ,
  ERR_NO_PARENT = -13153 , ERR_NO_CLASSID = -13154 , ERR_OBJID_NOT_IN_ALLSET = -13155 , ERR_HCC_NO_FILE_DISCRIPTION_PARTITION = -13156 ,
  ERR_NO_TIMEOUTSEC = -13157 , ERR_ATTRIBUTEID_INVALID = -13158 , ERR_WRONG_SCHEAMA_FILETYPE = -13159 , ERR_OBJECT_FILTERED_OUT = -13160 ,
  ERR_UNKNOWN = -13200 , GloWRN_CAST_NOT_AVAILABLE = 13201 , GloWRN_CAST_LOST_DECIMAL = 13202 , GloWRN_CAST_LOST_DIGITS = 13203 ,
  GloWRN_CAST_LOST_CHARACTER = 13204 , GloWRN_UNKNOWN = 13300
}
 GlobalObjects error codes More...
 

Functions

__glo_export_dll EnDeepMode getDeepModeAsEnum (const std::string &rsDeepMode)
 
__glo_export_dll std::string getDeepModeAsString (EnDeepMode eDeepMode)
 
__glo_export_dll EnLockMode getLockModeAsEnum (const std::string &rsLockMode)
 
__glo_export_dll std::string getLockModeAsString (EnLockMode eLockMode)
 
int getNewRecordAttributeFromType (BaseRecordAttribute *&prRetVal, ClassInfoAttribute *pClassInfoAttribute, unsigned long ulClassID=0)
 
int getNewRecordAttributeFromTypeWithValue (BaseRecordAttribute *&prRetVal, ClassInfoAttribute *pClassInfoAttribute, const std::string &rsFieldContent, const std::string &rsDataPath, bool bOnlyClassIDTable=false)
 

Variables

static TypeDataLength BLOB_TEXT_LENGTH = FILENAME_LENGTH
 
static TypeDataLength BOOL_TEXT_LENGTH = 1
 
static TypeDataLength CHAR_TEXT_LENGTH = 4
 
CppTypeString CPP_TYPE_STR_BLOB = "eut::Blob"
 
CppTypeString CPP_TYPE_STR_BOOL = "bool"
 
CppTypeString CPP_TYPE_STR_CHAR = "char"
 
CppTypeString CPP_TYPE_STR_DATE_TIME = "std::time_t"
 
CppTypeString CPP_TYPE_STR_DOUBLE = "double"
 
CppTypeString CPP_TYPE_STR_DOUBLE_LIST = "std::list<double>"
 
CppTypeString CPP_TYPE_STR_DOUBLE_SET = "std::set<double>"
 
CppTypeString CPP_TYPE_STR_DOUBLE_VECTOR = "std::vector<double>"
 
CppTypeString CPP_TYPE_STR_FLOAT = "float"
 
CppTypeString CPP_TYPE_STR_INT = "int"
 
CppTypeString CPP_TYPE_STR_INT_LIST = "std::list<int>"
 
CppTypeString CPP_TYPE_STR_INT_SET = "std::set<int>"
 
CppTypeString CPP_TYPE_STR_INT_VECTOR = "std::vector<int>"
 
CppTypeString CPP_TYPE_STR_LONG = "long"
 
CppTypeString CPP_TYPE_STR_LONGDOUBLE = "long double"
 
CppTypeString CPP_TYPE_STR_LONGLONG = "long long"
 
CppTypeString CPP_TYPE_STR_OBJID = "glo::ObjID"
 
CppTypeString CPP_TYPE_STR_OD_REF = "glo::TOndemand"
 
CppTypeString CPP_TYPE_STR_OD_REFLIST = "glo::TOndemandList"
 
CppTypeString CPP_TYPE_STR_OD_REFSET = "glo::TOndemandSet"
 
CppTypeString CPP_TYPE_STR_PO_REFLIST = "glo::TPointerList"
 
CppTypeString CPP_TYPE_STR_PO_REFSET = "glo::TPointerSet"
 
CppTypeString CPP_TYPE_STR_SHORT = "short"
 
CppTypeString CPP_TYPE_STR_STDSHARED_REF = "std::shared_ptr"
 
CppTypeString CPP_TYPE_STR_STDUNIQUE_REF = "std::unique_ptr"
 
CppTypeString CPP_TYPE_STR_STRING = "std::string"
 
CppTypeString CPP_TYPE_STR_STRING_LIST = "std::list<std::string>"
 
CppTypeString CPP_TYPE_STR_STRING_SET = "std::set<std::string>"
 
CppTypeString CPP_TYPE_STR_STRING_VECTOR = "std::vector<std::string>"
 
CppTypeString CPP_TYPE_STR_UNSIGNED_CHAR = "unsigned char"
 
CppTypeString CPP_TYPE_STR_UNSIGNED_INT = "unsigned int"
 
CppTypeString CPP_TYPE_STR_UNSIGNED_LONG = "unsigned long"
 
CppTypeString CPP_TYPE_STR_UNSIGNED_LONGLONG = "unsigned long long"
 
CppTypeString CPP_TYPE_STR_UNSIGNED_SHORT = "unsigned short"
 
static const DATA_REFERENCE_INFO DATA_REFERENCE_INFO_DELETE_EXT_FILE = 1
 
static const DATA_REFERENCE_INFO DATA_REFERENCE_INFO_KEEP_EXT_FILE = 4
 
static const DATA_REFERENCE_INFO DATA_REFERENCE_INFO_NEW_EXT_FILE = 2
 
static const DATA_REFERENCE_INFO DATA_REFERENCE_INFO_NULL = 0
 
static TypeDataLength DATETIME_TEXT_LENGTH = 20
 
static TypeDataLength DOUBLE_TEXT_LENGTH = 26
 
static TypeDataLength FILENAME_LENGTH = 10
 
static TypeDataLength FLOAT_TEXT_LENGTH = 26
 
const char g_cIndexDelimiter = '|'
 
const char g_cTableColumnDelimiter = '\a'
 
const std::string g_sEOL = "\r\n"
 
static TypeDataLength INT_TEXT_LENGTH = 11
 
static TypeDataLength LONG_TEXT_LENGTH = 20
 
static TypeDataLength LONGDOUBLE_TEXT_LENGTH = 26
 
static TypeDataLength LONGLONG_TEXT_LENGTH = 20
 
static TypeDataLength LOT_TEXT_LENGTH = FILENAME_LENGTH
 
const unsigned long OBJ_ID_DIGITVALUE = ULONG_MAX
 
static TypeDataLength OBJID_DIGIT_LENGTH = 10
 
static TypeDataLength OBJID_TEXT_LENGTH = 32
 
SchemaTypeString SCHEMA_TYPE_STR_BLOB = "eut::Blob"
 
SchemaTypeString SCHEMA_TYPE_STR_BOOL = "bool"
 
SchemaTypeString SCHEMA_TYPE_STR_CHAR = "char"
 
SchemaTypeString SCHEMA_TYPE_STR_DATETIME = "std::time_t"
 
SchemaTypeString SCHEMA_TYPE_STR_DOUBLE = "double"
 
SchemaTypeString SCHEMA_TYPE_STR_DOUBLELIST = "std::list<double>"
 
SchemaTypeString SCHEMA_TYPE_STR_DOUBLESET = "std::set<double>"
 
SchemaTypeString SCHEMA_TYPE_STR_DOUBLEVECTOR = "std::vector<double>"
 
SchemaTypeString SCHEMA_TYPE_STR_EMBEDDED = "embedded"
 
SchemaTypeString SCHEMA_TYPE_STR_FLOAT = "float"
 
SchemaTypeString SCHEMA_TYPE_STR_INT = "int"
 
SchemaTypeString SCHEMA_TYPE_STR_INTLIST = "std::list<int>"
 
SchemaTypeString SCHEMA_TYPE_STR_INTSET = "std::set<int>"
 
SchemaTypeString SCHEMA_TYPE_STR_INTVECTOR = "std::vector<int>"
 
SchemaTypeString SCHEMA_TYPE_STR_LONG = "long"
 
SchemaTypeString SCHEMA_TYPE_STR_LONGDOUBLE = "long double"
 
SchemaTypeString SCHEMA_TYPE_STR_LONGLONG = "long long"
 
SchemaTypeString SCHEMA_TYPE_STR_OBJID = "glo::ObjId"
 
SchemaTypeString SCHEMA_TYPE_STR_ONDEMANDREF = "glo::TOndemand"
 
SchemaTypeString SCHEMA_TYPE_STR_ONDEMANDREFLIST = "glo::TOndemandList"
 
SchemaTypeString SCHEMA_TYPE_STR_ONDEMANDREFSET = "glo::TOndemandSet"
 
SchemaTypeString SCHEMA_TYPE_STR_POINTERREF = "pointer"
 
SchemaTypeString SCHEMA_TYPE_STR_POINTERREFLIST = "glo::TPointerList"
 
SchemaTypeString SCHEMA_TYPE_STR_POINTERREFSET = "glo::TPointerSet"
 
SchemaTypeString SCHEMA_TYPE_STR_SHORT = "short"
 
SchemaTypeString SCHEMA_TYPE_STR_STDSHAREDREF = "std::shared_ptr"
 
SchemaTypeString SCHEMA_TYPE_STR_STDUNIQUEREF = "std::unique_ptr"
 
SchemaTypeString SCHEMA_TYPE_STR_STRING = "std::string"
 
SchemaTypeString SCHEMA_TYPE_STR_STRINGLIST = "std::list<std::string>"
 
SchemaTypeString SCHEMA_TYPE_STR_STRINGSET = "std::set<std::string>"
 
SchemaTypeString SCHEMA_TYPE_STR_STRINGVECTOR = "std::vector<std::string>"
 
SchemaTypeString SCHEMA_TYPE_STR_UNSIGNED = "unsigned"
 
static TypeDataLength SHORT_TEXT_LENGTH = 6
 
const ShowLevel SHOW_CHECK_BASE_ACTION = 128
 
const ShowLevel SHOW_COMPRESS_ACTION = 64
 
const ShowLevel SHOW_NONE = 0
 
const ShowLevel SHOW_ORDER_ACTION = 4
 
const ShowLevel SHOW_READ_WRITE = 2
 
const ShowLevel SHOW_READINDEX_ACTION = 16
 
const ShowLevel SHOW_REINDEX_ACTION = 8
 
const ShowLevel SHOW_REPAIR_BASE_ACTION = 256
 
const ShowLevel SHOW_TCP = 1
 
const ShowLevel SHOW_WRITEINDEX_ACTION = 32
 
static TypeDataLength STRING_MAX_INDEX_LENGTH = 255
 
static TypeDataLength STRING_MAX_TEXT_LENGTH = 64
 
static TypeDataLength STRING_TEXT_LENGTH = 10
 
static TypeDataLength UCHAR_TEXT_LENGTH = 3
 
static TypeDataLength UINT_TEXT_LENGTH = 10
 
static TypeDataLength ULONG_TEXT_LENGTH = 20
 
static TypeDataLength ULONGLONG_TEXT_LENGTH = 20
 
static TypeDataLength USHORT_TEXT_LENGTH = 5
 
const TdWatchNotifyMode WNM_CLIENT_CLOSEBASE = 2048
 
const TdWatchNotifyMode WNM_CLIENT_CONNECTSERVER = 256
 
const TdWatchNotifyMode WNM_CLIENT_DISCONNECTSERVER = 512
 
const TdWatchNotifyMode WNM_CLIENT_OPENBASE = 1024
 
const TdWatchNotifyMode WNM_DATABASE_CHECK = 131072
 
const TdWatchNotifyMode WNM_DATABASE_COMPRESS = 32768
 
const TdWatchNotifyMode WNM_DATABASE_REPAIR = 65536
 
const TdWatchNotifyMode WNM_DELETE = 4
 
const TdWatchNotifyMode WNM_DELETE_TRANSACTION = 8
 
const TdWatchNotifyMode WNM_INDEX_READ = 4096
 
const TdWatchNotifyMode WNM_INDEX_REINDEX = 16384
 
const TdWatchNotifyMode WNM_INDEX_WRITE = 8192
 
const TdWatchNotifyMode WNM_INSERT = 64
 
const TdWatchNotifyMode WNM_INSERT_TRANSACTION = 128
 
const TdWatchNotifyMode WNM_LOCK = 16
 
const TdWatchNotifyMode WNM_NONE = 0
 
const TdWatchNotifyMode WNM_SERVER_WSAECONNRESET = 262144
 
const TdWatchNotifyMode WNM_UNLOCK = 32
 
const TdWatchNotifyMode WNM_WRITE = 1
 
const TdWatchNotifyMode WNM_WRITE_TRANSACTION = 2
 

Typedef Documentation

◆ CppTypeString

typedef const std::string glo::CppTypeString

These are the attribute types supported by GlobalObjects as they appear in header and source files.

See also
CPP_TYPE_STR_BLOB = "eut::Blob"
CPP_TYPE_STR_BOOL = "bool"
CPP_TYPE_STR_CHAR = "char"
CPP_TYPE_STR_DATE_TIME = "std::time_t"
CPP_TYPE_STR_FLOAT = "float"
CPP_TYPE_STR_DOUBLE = "double"
CPP_TYPE_STR_DOUBLE_LIST = "std::list<double>"
CPP_TYPE_STR_DOUBLE_SET = "std::set<double>"
CPP_TYPE_STR_DOUBLE_VECTOR = "std::vector<double>"
CPP_TYPE_STR_INT = "int"
CPP_TYPE_STR_INT_LIST = "std::list<int>"
CPP_TYPE_STR_INT_SET = "std::set<int>"
CPP_TYPE_STR_INT_VECTOR = "std::vector<int>"
CPP_TYPE_STR_LONG = "long"
CPP_TYPE_STR_LONGDOUBLE = "long double"
CPP_TYPE_STR_LONGLONG = "long long"
CPP_TYPE_STR_OBJID = "glo::ObjID"
CPP_TYPE_STR_OD_REF = "glo::TOndemand"
CPP_TYPE_STR_OD_REFLIST = "glo::TOndemandList"
CPP_TYPE_STR_OD_REFSET = "glo::TOndemandSet"
CPP_TYPE_STR_PO_REFLIST = "glo::TPointerList"
CPP_TYPE_STR_PO_REFSET = "glo::TPointerSet"
CPP_TYPE_STR_SHORT = "short"
CPP_TYPE_STR_STDSHARED_REF = "std::shared_ptr"
CPP_TYPE_STR_STDUNIQUE_REF = "std::unique_ptr"
CPP_TYPE_STR_STRING = "std::string"
CPP_TYPE_STR_STRING_LIST = "std::list<std::string>"
CPP_TYPE_STR_STRING_SET = "std::set<std::string>"
CPP_TYPE_STR_STRING_VECTOR = "std::vector<std::string>"
CPP_TYPE_STR_UNSIGNED_CHAR = "unsigned char"
CPP_TYPE_STR_UNSIGNED_INT = "unsigned int"
CPP_TYPE_STR_UNSIGNED_LONG = "unsigned long"
CPP_TYPE_STR_UNSIGNED_LONGLONG = "unsigned long long"
CPP_TYPE_STR_UNSIGNED_SHORT = "unsigned short"

◆ DATA_REFERENCE_INFO

typedef unsigned long glo::DATA_REFERENCE_INFO

Is a constant that helps to decide whether it is necessary when writing, reading or deleting a data record attribute to use an external file, e.g. of an eut::Blob, also to be written down, to be read or to be deleted.

Values DATA_REFERENCE_INFO
constantValueMeaning
DATA_REFERENCE_INFO_NULL0 No info, no need for action.
DATA_REFERENCE_INFO_DELETE_EXT_FILE1 An external file must be deleted.
DATA_REFERENCE_INFO_NEW_EXT_FILE2 An external file must be created.
DATA_REFERENCE_INFO_KEEP_EXT_FILE4 An external file must be kept.

◆ SchemaTypeString

typedef const std::string glo::SchemaTypeString

These are the types supported by GlobalObjects as they appear in the schema file.

See also
SCHEMA_TYPE_STR_BLOB = "eut::Blob"
SCHEMA_TYPE_STR_BOOL = "bool"
SCHEMA_TYPE_STR_CHAR = "char"
SCHEMA_TYPE_STR_DATETIME = "std::time_t"
SCHEMA_TYPE_STR_FLOAT = "double"
SCHEMA_TYPE_STR_DOUBLE = "double"
SCHEMA_TYPE_STR_DOUBLELIST = "std::list<double>"
SCHEMA_TYPE_STR_DOUBLESET = "std::set<double>"
SCHEMA_TYPE_STR_DOUBLEVECTOR = "std::vector<double>"
SCHEMA_TYPE_STR_EMBEDDED = "embedded"
SCHEMA_TYPE_STR_INT = "int"
SCHEMA_TYPE_STR_INTLIST = "std::list<int>"
SCHEMA_TYPE_STR_INTSET = "std::set<int>"
SCHEMA_TYPE_STR_INTVECTOR = "std::vector<int>"
SCHEMA_TYPE_STR_LONG = "long"
SCHEMA_TYPE_STR_LONGDOUBLE = "long double"
SCHEMA_TYPE_STR_LONGLONG = "long long"
SCHEMA_TYPE_STR_OBJID = "glo::ObjId"
SCHEMA_TYPE_STR_ONDEMANDREF = "glo::TOndemand"
SCHEMA_TYPE_STR_ONDEMANDREFLIST = "glo::TOndemandList"
SCHEMA_TYPE_STR_ONDEMANDREFSET = "glo::TOndemandSet"
SCHEMA_TYPE_STR_POINTERREF = "pointer"
SCHEMA_TYPE_STR_POINTERREFLIST = "glo::TPointerList"
SCHEMA_TYPE_STR_POINTERREFSET = "glo::TPointerSet"
SCHEMA_TYPE_STR_SHORT = "short"
SCHEMA_TYPE_STR_STDSHAREDREF = "std::shared_ptr"
SCHEMA_TYPE_STR_STDUNIQUEREF = "std::unique_ptr"
SCHEMA_TYPE_STR_STRING = "std::string"
SCHEMA_TYPE_STR_STRINGLIST = "std::list<std::string>"
SCHEMA_TYPE_STR_STRINGSET = "std::set<std::string>"
SCHEMA_TYPE_STR_STRINGVECTOR = "std::vector<std::string>"
SCHEMA_TYPE_STR_UNSIGNED = "unsigned"

◆ ShowLevel

typedef unsigned long glo::ShowLevel

Actions of GlobalObjects from the "GloServer" can be displayed.
For more information see Display Status in the GloServer User Guide.

See also
SHOW_NONE
SHOW_TCP
SHOW_READ_WRITE
SHOW_ORDER_ACTION
SHOW_REINDEX_ACTION
SHOW_READINDEX_ACTION
SHOW_WRITEINDEX_ACTION

◆ TdWatchNotifyMode

typedef unsigned long glo::TdWatchNotifyMode

For the watching of objects different modes can be passed to control the watching. These modes can also be linked by '|'.

Further information can be found under Watching / notifying persistent objects in the GlobalObjects Programming Guide.

See also
WNM_NONE
::WNM_READ
::WNM_READ_TRANSACTION
WNM_WRITE
WNM_WRITE_TRANSACTION
WNM_DELETE
WNM_DELETE_TRANSACTION
WNM_LOCK
WNM_UNLOCK
WNM_INSERT
WNM_INSERT_TRANSACTION
WNM_CLIENT_CONNECTSERVER
WNM_CLIENT_DISCONNECTSERVER
WNM_CLIENT_OPENBASE
WNM_CLIENT_CLOSEBASE
WNM_INDEX_READ
WNM_INDEX_WRITE
WNM_INDEX_REINDEX
WNM_DATABASE_COMPRESS
WNM_DATABASE_REPAIR
WNM_SERVER_WSAECONNRESET

The following watching modes are possible for different watching possibilities in connection with EnDeepMode:

Watching a persistent Object

Watching an Object container

Watching an AllSet

Watching the client to lock-in/lock-out

Watching if read index / create new index

Watching "compress database"

Watching "repair database"

Watching GloServer connection failure

Attention
When watching and notifying, the following applies when watching: a lot of action in the database generates a lot of notification traffic! This can lead to a freeze of the application! So use and test with caution.

◆ TypeDataLength

Enumeration Type Documentation

◆ EnComparisionOp

Comparison operators as enumeration for e.g. an index query.

Enumerator
EQUAL 

Equal.

GREATER 

Greater than ...

GREATER_EQUAL 

Greater or equal than ...

LESS 

Less than...

LESS_EQUAL 

Less or equal than...

NOT_EQUAL 

Not equal.

◆ EnDataType

The attribute types supported by GlobalObjects as enumeration.

Enumerator
eDATATYPE_UNDEF 

undefined

eDATATYPE_BLOB 

eut::Blob

eDATATYPE_BOOL 

bool

eDATATYPE_CHAR 

char

eDATATYPE_CHAR_UNSIGNED 

unsigned char

eDATATYPE_SHORT 

short

eDATATYPE_SHORT_UNSIGNED 

unsigned short

eDATATYPE_INT 

int

eDATATYPE_INT_UNSIGNED 

unsigned int

eDATATYPE_LONG 

long

eDATATYPE_LONG_UNSIGNED 

unsigned long

eDATATYPE_LONGLONG 

long long

eDATATYPE_LONGLONG_UNSIGNED 

unsigned long long

eDATATYPE_FLOAT 

float

eDATATYPE_DOUBLE 

double

eDATATYPE_LONGDOUBLE 

long double

eDATATYPE_DATE_TIME 

std::time_t

eDATATYPE_EMBEDDED 

Persistent Class (Member)

eDATATYPE_LIST_DOUBLE 

std::list<double>

eDATATYPE_LIST_INT 

std::list<int>

eDATATYPE_LIST_STRING 

std::list<std::string>

eDATATYPE_OBJID 

ObjID.

eDATATYPE_ONDEMAND 

TOndemand<Persistent Class>

eDATATYPE_POINTER 

Persistent Class* (Pointer Member)

eDATATYPE_REFLIST_ONDEMAND 

TOndemandList<Persistent Class>

eDATATYPE_REFSET_ONDEMAND 

TOndemandSet<Persistent Class>

eDATATYPE_REFLIST_POINTER 

TPointerList<Persistent Class>

eDATATYPE_REFSET_POINTER 

TPointerSet<Persistent Class>

eDATATYPE_SET_DOUBLE 

std::set<double>

eDATATYPE_SET_INT 

std::set<int>

eDATATYPE_SET_STRING 

std::set<std::string>

eDATATYPE_STDSHAREDPOINTER 

std::shared_ptr<Persistent Class>

eDATATYPE_STDUNIQUEPOINTER 

std::unique_ptr<Persistent Class>

eDATATYPE_STRING 

std::string

eDATATYPE_VECTOR_DOUBLE 

std::vector<double>

eDATATYPE_VECTOR_INT 

std::vector<int>

eDATATYPE_VECTOR_STRING 

std::vector<std::string>

eDATATYPE_ENUM_SIZE 

With this enum you can get the number of supported types. MUST be last!

◆ EnDataTypeGroup

The group type of the supported attribute type as enum.

Is needed for the interpretation of ClassInfoAttribute::Type::m_sInfo.

A ClassInfoAttribute::Type::m_sInfo has a certain meaning depending on the group type.

Examples
Group typeAttribute typeInfo
eDATATYPEGROUP_DECIMAL A floating point number e.g. double If set and > 0, then decimal places
eDATATYPEGROUP_FIXEDLENGTH std::string If set and > 0, then fixed length
eDATATYPEGROUP_INTEGER An integer e.g. long "unsigned" if necessary
eDATATYPEGROUP_PTR_REFERENCE Pointer to persistent object(s) "dependent" if necessary
eDATATYPEGROUP_PTR_REFERENCE Ondemand pointer to persistent object(s) "dependent" if necessary


Enumerator
eDATATYPEGROUP_NOTHING 

Undefined.

eDATATYPEGROUP_DECIMAL 

eDATATYPE_FLOAT, eDATATYPE_DOUBLE and eDATATYPE_LONGDOUBLE belong to this group.

eDATATYPEGROUP_FIXEDLENGTH 

eDATATYPE_STRING belongs in this group.

eDATATYPEGROUP_INTEGER 

eDATATYPE_CHAR, eDATATYPE_CHAR_UNSIGNED, eDATATYPE_SHORT, eDATATYPE_SHORT_UNSIGNED, eDATATYPE_INT, eDATATYPE_INT_UNSIGNED, eDATATYPE_LONG and eDATATYPE_LONG_UNSIGNED belong to this group.

eDATATYPEGROUP_PTR_REFERENCE 

eDATATYPE_POINTER, eDATATYPE_REFLIST_POINTER, eDATATYPE_REFSET_POINTER, eDATATYPE_STDSHAREDPOINTER, eDATATYPE_STDUNIQUEPOINTER and eDATATYPE_EMBEDDED belong to this group.

eDATATYPEGROUP_POD_REFERENCE 

eDATATYPE_ONDEMAND, eDATATYPE_REFLIST_ONDEMAND and eDATATYPE_REFSET_ONDEMAND belong to this group.

◆ EnDeepMode

The mode in which an object is saved, deleted, locked, etc.

See also
Referencing persistent objects in the GlobalObjects Programming Guide.
Enumerator
DM_NONE 

Undefined.

DM_FLAT 

Only the object is affected.

DM_SHALLOW 

The object and its dependent referenced objects are affected.

DM_NOONDEMAND 

The object and its objects directly referenced by pointers are affected.

DM_DEEP 

The object, its dependent referenced objects, its directly pointer referenced objects and its on-demand references (when saved if they are in memory) are affected.

◆ EnLockMode

There are different ways to lock an object and grant rights to it.
Further information can be found under Locking persistent objects in the GlobalObjects Programming Guide.

The following table lists the individual lock modes and their effects.

The following abbreviations apply to the lock modes:

  • NN -> LK_NONE
  • RD -> LK_READvDELETE
  • RW -> LK_READvWRITE
  • WW -> LK_WRITEvWRITE
  • DW -> LK_DELETEvWRITE
  • DR -> LK_DELETEvREAD
  • EX -> LK_EXCLUSIVE
  • TW -> LK_TRANSACTION_WRITE
  • TD -> LK_TRANSACTION_DELETE

The following abbreviations apply to actions:

  • R -> Read
  • W -> Write
  • D -> Delete
Lock modes and their effects
Locking instanceOther instances
SperrmodusGuarantee to do...Protection from...Allowed lock modesPossibilitiesRestrictions
NNnonekeinenallallnone
RDRDRD, RW, WW, TWR, WD
RWRD, WRD, RWRD, W
WWR, WD, WRDRD, W
DWR, W, DD, WnoneRD, W
DRR, W, DD, W, RnonenoneD, R, W
EXR, W, DD, W, RnonenoneD, R, W
TWR, WD, WRDRD, W
TDR, W, DD, WnoneRD, W
Enumerator
LK_NONE 

No lock.

LK_READvDELETE 

Guarantee to read, others may not delete.

LK_READvWRITE 

Guarantee to read, others may not write.

LK_WRITEvWRITE 

Guarantee to write, others may not write.

LK_DELETEvWRITE 

Guarantee to delete, others may not write.

LK_DELETEvREAD 

Guarantee to delete, others may not read.

LK_EXCLUSIVE 

Guarantee for everything, others must nothing.

LK_TRANSACTION_WRITE 

Guarantee to write, others may not write. This mode is set in a transaction when an object is to be changed.

LK_TRANSACTION_DELETE 

Guarantee to delete, others may not write. This mode is set in a transaction when an object is to be deleted.

◆ EnQueryType

The type of an index query.

See also
IndexQueryStruct, Base::getIndexedObjIdsFromAllSet (...)
Enumerator
eQUERY_DIRECT 

The string is seen as search value (e.g. "Tom Me?er")

eQUERY_OQL 

The string from OQL-expression is evaluated. (Not yet implemented!)

◆ EnSeekMode

To iterate through containers and for get and remove methods, which object is meant.

Enumerator
START 

The first element is meant.

END 

The last element is meant.

CURRENT 

The current element is meant.

NEXT 

The next element after the current element is meant.

PREVIOUS 

The element before the current element is meant.

◆ ERRORS

GlobalObjects error codes

So that the developer can classify any errors that may occur, they are explained here.

Error range = -13001 to -13200

Warning range = 13201 to 13300

Enumerator
ERR_PARAMETER_NULL_VORBIDDEN 

-13001: A not allowed NULL or nullptr parameter was passed.

ERR_NEW 

-13002: An object could not be created resp. no memory could be reserved (allocated)).

ERR_CAST 

-13003: An object could not be converted with dynamic_cast<T>.

ERR_METHOD_FORBIDDEN 

-13004: Called method is prohibited for this object.

ERR_ATTRIBUT_TYPE_UNKNOWN 

-13005: The attribute type is unknown.

ERR_SUPERCLASS_NEEDED 

-13006: A superclass is required or none is available.

ERR_OBJID_INVALID 

-13007: The ObjID is invalid resp. has invalid values.

ERR_OPEN_TABLE 

-13008: A table (file) could not be opened.

ERR_NO_OPEN_TABLE 

-13009: No open table (file) was found.

ERR_PERS_OBJ_MUST_BE_LOADED 

-13010: Persistent object must be loaded.

ERR_CLASSINFO_NOT_IN_SCHEMA 

-13011: Class info is not in the schema.

ERR_CLASSINFOATTRIBUTE_NOT_IN_SCHEMA 

-13012: Class info attribute is not in the schema.

ERR_HCC_NO_INCLUDE_GUARD_PARTITION 

-13156: When generating a header file the Include-Guard section cannot be identified.

ERR_CLASSID_DOESNT_MATCH 

-13014: Invalid or not matching ClassID.

ERR_RECORD_ATTRIBUTE_ALREADY_EXISTING 

-13015: The attribute already exists.

ERR_OBJID_OUT_OF_RANGE 

-13016: ObjID is out of the allowed value range.

ERR_OBJID_TABLE 

-13017: In the table (file) no or not the searched ObjID was found.

ERR_RECORD_ATTRIBUTE_NOT_IN_TABLE 

-13018: An attribute is not in the table (file)

ERR_NO_CLASSINFOATTRIBUTE 

-13019: An expected class info attribute does not exist or has not been passed.

ERR_TABLENAME_NEEDED 

-13020: An expected table name is invalid or does not exist.

ERR_FILE_DELETE_FAILED 

-13021: The deletion of a file (index or table) failed.

ERR_OBJID_NOT_FOUND 

-13022: The object ID is not available.

GLOERR_NO_RECEIVER 

-13023: An expected Receiver is not available.

ERR_NO_READER 

-13024: An expected TableReaderInterface is not available.

ERR_UNKNOWN_ORDERTYPE 

-13025: The OrderMsg::EnOrderType is not known.

ERR_NO_DBMANAGER 

-13026: The Manager is not available.

ERR_ALREADY_REGISTERED_IN_BASE 

-13027: An attempt was made to register an object registered in one database again in another database.

ERR_NOT_REGISTERED_IN_BASE 

-13028: An Record had to be previously registered in the database.

ERR_ALREADY_IN_LOT 

-13029: An object to be inserted is already in a container that holds objects only once.

ERR_OBJECT_NOT_FOUND 

-13030: An object is not available.

ERR_NO_WRITER 

-13031: A TableWriterInterface interface was not found.

ERR_RANGE 

-13032: Something is out of range. This is not always an error (e.g. during iteration ).

ERR_WRONG_OBJ_MAKER 

-13033: A wrong ObjectMaker was passed or found.

ERR_IS_NOT_ASSIGNED 

-13034: Object is not registered in the database.

ERR_PARA_MISMATCH 

-13035: Parameter do not fit.

ERR_FILE_POSITION 

-13036: A wrong file position was passed.

ERR_NO_SCHEMA 

-13037: The schema is required.

ERR_IS_ALREADY_ASSIGNED 

-13038: Object is already assigned to a database.

ERR_NO_FILENUMBERS 

-13039: No file number (file name) could be generated.

ERR_OBJ_ALREADY_IN_OBJSPY 

-13040: An object is already in an object spy.

See also
CallBackSpy, GenPersObjectSpy, PersObjectSpy
ERR_OBJ_NOT_IN_OBJSPY 

-13041: An object was not found in an object spy.

See also
CallBackSpy, GenPersObjectSpy, PersObjectSpy
ERR_NO_OBJ_MAKER 

-13042: The specific derived ObjectMaker is missing.

ERR_WRONG_TYPE 

-13043: A wrong type was passed or determined.

ERR_NO_REFERENCE 

-13044: An expected reference is not set.

ERR_NOT_FOUND 

-13045: Something sought has not been found.

ERR_NO_BASE 

-13046: No database available or not referenced by object.

ERR_ATTRIBUTE_NOT_IN_CLASSATTRIBUTE_OBJECT 

-13047: An attribute is not available as class attribute (mostly eut::ErrorNException).

ERR_WRONG_BASE 

-13048: The wrong database was addressed.

ERR_BASE_NOT_OPEN 

-13049: Database is not open.

ERR_BASE_ALREADY_OPEN 

-13050: Database is already open.

ERR_NO_OBJ_CREATOR 

-13051: A matching Object Creator was not found/passed.

ERR_OBJECT_LOCKED 

-13052: Object already locked.

ERR_OBJECT_NOT_LOCKED 

-13053: Object is not locked (when trying to unlock).

ERR_WRONG_LOCK_MODE 

-13054: The lock mode does not fit.

ERR_NO_TRANSACTION 

-13055: It was expected that a transaction has started.

ERR_WRONG_WATCH_MODE 

-13056: The watching mode does not fit.

ERR_OBJECT_WATCHED 

-13057: The object is already being watched.

ERR_OBJECT_NOT_WATCHED 

-13058: The object is not watched.

ERR_NO_CALLBACK 

-13059: No valid object was passed for watching.

ERR_INDEX_ALREADY_EXISTING 

-13060: An index to be inserted already exists or is assigned.

ERR_NO_INDEX 

-13061: A searched index is not available.

ERR_NO_FREEINDEX_EXISTING 

-13062: There is no free index.

ERR_FREEINDEX_ALREADY_EXISTING 

-13063: An index to be released is already released

ERR_NO_TABLEOBJIDINDEX_EXISTING 

-13064: The table index (file) was not found.

ERR_TABLEOBJIDINDEX_ALREADY_EXISTING 

-13065: The table index (file) already exists.

ERR_NO_SCHEMAINDEX_EXISTING 

-13066: An index in the schema was not found.

ERR_SCHEMAINDEX_ALREADY_EXISTING 

-13067: An index in the schema already exists.

ERR_NO_INDEXPOOL 

-13068: An expected index pool was not found.

ERR_HCC_NO_NAMESPACE_DECL_PARTITION 

-13069: When generating a header file, the namespace declaration section cannot be identified.

ERR_ALLSET_ALREADY_OPEN 

-13070: The AllSet has already been opened.

ERR_ALLSET_NOT_OPEN 

-13071: The AllSet is not yet open.

ERR_CORRUPT_INDEX 

-13072: The index is no longer valid.

ERR_UNKNOWN_CLASSID 

-13073: The passed ClassID is not known.

ERR_NO_TRANSACTIONINDEXPOOL_EXISTING 

-13074: An expected transaction index pool does not exist.

ERR_TRANSACTIONINDEXPOOL_ALREADY_EXISTING 

-13075: A transaction index pool already exists.

ERR_NO_CORRECT_STREAM_DATA 

-13076: The data to be streamed is incorrect.

ERR_NO_PARENT_CLIENT_THREAD 

-13077: The Client has no Communicator resp. ClientThread.

ERR_NO_TCPCLIENT 

-13078: The ClientThread has no Client.

ERR_NO_PORT 

-13079: There is no valid Tcp port.

ERR_UNKNOWN_CLASSNAME 

-13080: The passed Classname is not known.

ERR_ORDER_INDEX_ALREADY_EXISTING 

-13081: The Client already has a current, not yet processed OrderMsg.

ERR_ORDER_STOP 

-13082: The ClientThread has the order to stop its work and therefore does not accept OrderMsg anymore.

ERR_NO_TCP_READER 

-13083: Client has no Reader.

ERR_NO_TCP_WRITER 

-13084: Client has no tcp::Transmitter.

ERR_SERVER_CONNECTION_BROKEN 

-13085: The connection to the server is interrupted.

ERR_ATTRIBUTE_NOT_IN_SOURCE_OBJECT 

-13086: An attribute is not in the class (mostly eut::ErrorNException)

ERR_RECORD_READY 

-13087: An error occurred while streaming Record.

ERR_NO_INDEX_FILE_ODX 

-13088: An ODX index file could not be opened.

ERR_NO_INDEX_FILE_FDX 

-13089: AnFDXODX index file could not be opened.

ERR_NO_READER_ALLOWED 

-13090: No reader is allowed if reindexing is to be carried out.

ERR_NO_DB_INI 

-13091: The required DB.ini was not found.

ERR_SCHEMA_NOT_IN_DB_INI 

-13092: The schema resp. the database is not entered in the DB.ini.

ERR_NO_COMMUNICATOR 

-13093: No Communicator available.

ERR_CLASSINFO_ALREADY_EXISTING 

-13094: The passed ClassInfo already exists in the schema.

ERR_NO_OPEN_SPEC 

-13095: No OpenSpecification was passed.

ERR_SCHEMA_DIFFERENT_VERSION 

-13096: The schemas have a different version number.

ERR_ALREADY_CONNECTED 

-13097: The database is already connected.

ERR_NOT_CONNECTED 

-13098: The database is not connected.

ERR_ONLY_ONE_BASE_PER_CONNECTION 

-13099: A database may only be opened once for a connection.

ERR_WRONG_ORDERTYPE 

-13100: In context a wrong order type in OrderMsg.

ERR_NO_RECORD 

-13101: No Record was passed or found.

ERR_DATABASE_CHANGE_NOT_POSSIBLE 

-13102: No Record was passed or found.

ERR_OBJID_DOESNT_MATCH 

-13103: Invalid or not matching ClassID.

ERR_DOUBLE_ALLOCATION_DATABASE_ID 

-13104: A "unique" database ID was assigned twice.

ERR_MISSING_ORDER_OBJECT 

-13105: No order object was passed or found.

ERR_ONLY_ONE_CONNECTION 

-13106: Only one FileBase may be connected per process.

ERR_HCC_NO_KNOWN_FORMAT 

-13107: A format error occurred while generating a header file.

ERR_HCC_NO_ATTRIBUTE_PARTITION 

-13108: When generating a header file, the attribute section cannot be identified.

ERR_HCC_NO_METHOD_DECL_PARTITION 

-13109: When generating a header file, the method declaration section cannot be identified.

ERR_HCC_NO_METHOD_IMP_PARTITION 

-13110: When generating a header file, the method implementation section cannot be identified.

ERR_CPP_NO_METHOD_IMP_PARTITION 

-13111: When generating a source file, the method implementation section cannot be identified.

ERR_FREE_11 

-13112:

ERR_SCHEMA_NOT_FOUND 

-13113: The schema was not found in the filesystem.

ERR_FREE_12 

-13114:

ERR_WRONG_CLASSINFOINDEX 

-13115: When reading the schema, wrong data was read with respect to the Class Info Index.

ERR_INDEXTUBLE_ALREADY_IN_MAP 

-13116: An index is already in the IndexPool.

ERR_OBJSTRINDEX_ALREADY_EXISTING 

-13117: An object string index is already in the IndexPool.

ERR_NO_OBJSTRINDEX_EXISTING 

-13118: An object index is not available in the IndexPool.

ERR_NO_INDEX_FILE_SDX 

-13119: An SDX index file could not be opened.

ERR_UNKNOWN_INDEX 

-13120: Unknown index.

ERR_NOT_COMPLETELY_INDEX 

-13121: The index is not complete.

ERR_SCHEMA_ALREADY_EXISTING 

-13122: The schema already exists resp. is already initialized.

ERR_CLASSINFO_NOT_EXISTING 

-13123: The class info does not exist in the schema.

ERR_CLASSINFOATTRIBUTE_ALREADY_EXISTING 

-13124: Class info attribute is already in the schema.

ERR_CLASSINFOATTRIBUTE_NAME_ALREADY_EXISTING 

-13125: Class info attribute name is already in the schema.

ERR_CLASSINFOATTRIBUTE_TABLENAME_ALREADY_EXISTING 

-13126: Class info table name is already in the schema.

ERR_CLASSINFOINDEX_NOT_IN_SCHEMA 

-13127: The class info index does not exist in the schema.

ERR_NOT_IMPLEMENTED_YET 

-13128: The desired function is not yet implemented.

ERR_UNKNOWN_OBJECT_TYPE 

-13129: An object type to be edited is not known.

ERR_BASE_NOT_LOCKED 

-13130: Object bank is not locked, although this is expected.

ERR_BASE_LOCKED 

-13131: Object bank is locked.

ERR_NO_CLASSES 

-13132: There are no classes in the schema.

ERR_TABLE_EXISTING 

-13133: The table file in the file system was not found by BaseMaker.

ERR_HEADER_EXISTING 

-13134: The header file in the file system was not found by BaseMaker.

ERR_SOURCE_EXISTING 

-13135: The source file in the file system was not found by BaseMaker.

ERR_OBJCREATOR_EXISTING 

-13136: The ObjectCreator file in the file system was not found by BaseMaker.

ERR_ATTRIBUTE_REFERENCE_NOT_EXISTING 

-13137: ClassInfo in the schema was not found by BaseMaker

ERR_INDEX_REFERENCE_NOT_EXISTING 

-13138: ClassInfoAttribute as index in the schema was not found by BaseMaker.

ERR_NO_LAST_OBJ_ID_FILE 

-13139: No 'last ObjID' found (file not accessible?).

ERR_NO_LAST_OBJ_FILE_NUM 

-13140: No 'last file number' found (file not accessible?).

ERR_OBJECT_ALREADY_DELETED 

-13141: A persistent object has already been deleted from the database.

ERR_DELETEDOBJID_ALREADY_EXISTING 

-13142: The deleted persistent object is already registered as such.

ERR_HCC_NO_FORWARD_PARTITION 

-13143: When generating a header file the forward declaration section cannot be identified.

ERR_HCC_NO_SUPER_INC_PARTITION 

-13144: When generating a header file, the superclass include section cannot be identified.

ERR_HCC_NO_REF_INC_PARTITION 

-13145: When generating a header file the general include section cannot be identified.

ERR_HCC_NO_CLASS_DECL_PARTITION 

-13146: When generating a header file the class declaration section cannot be identified.

ERR_NO_LOCK_QUANTITY 

-13147: No lock set was passed for the lock manager.

ERR_NO_LOCK_SPECIFICATION 

-13148: No lock specification was transferred for the lock manager.

ERR_INSERTION_FAILES 

-13149: Insertion of an item in a container or set failed.

ERR_INSERT_IN_UNIQUE_LIST 

-13150: An attempt was made to re-insert an object into a unique list.

ERR_TABLE_RENAME 

-13151: Changing the name of a table failed.

ERR_TABLE_DELETE 

-13152: Deleting a table has failed.

ERR_NO_PARENT 

-13153: An object needs a possessing object, but has none.

ERR_NO_CLASSID 

-13154: An expected GloClassID does not exist, was not passed or is invalid.

ERR_OBJID_NOT_IN_ALLSET 

-13155: The ObjID is not in AllSet.

ERR_HCC_NO_FILE_DISCRIPTION_PARTITION 

-13156: When generating a header file the description section cannot be identified.

ERR_NO_TIMEOUTSEC 

-13157: The time specification of the required waiting time for connecting to a database could not be determined.

ERR_ATTRIBUTEID_INVALID 

-13158: The attributeID to be set is invalid.

ERR_WRONG_SCHEAMA_FILETYPE 

-13159: The file extension for the schema file is wrong.

ERR_OBJECT_FILTERED_OUT 

-13160 An object exists in AllSet but cannot be delivered because a filter has been set.

ERR_UNKNOWN 

-13200: Unknown error.

GloWRN_CAST_NOT_AVAILABLE 

13201: The desired cast is not possible here.

GloWRN_CAST_LOST_DECIMAL 

13202: When converting from a floating point number to an integer, the decimal places are lost.

GloWRN_CAST_LOST_DIGITS 

13203: At a conversion of numbers places are lost (e.g. conversion from 'long int' to 'short').

GloWRN_CAST_LOST_CHARACTER 

13204: When converting strings (e.g. to char) characters are lost.

GloWRN_UNKNOWN 

13300: Unknown warning.

Function Documentation

◆ getDeepModeAsEnum()

__glo_export_dll EnDeepMode glo::getDeepModeAsEnum ( const std::string & rsDeepMode)

Returns the passed rsLockMode as a glo::EnDeepMode.

Parameters
[in]rsDeepModeThe glo::EnDeepMode as a string.
Returns
The glo::EnDeepMode.

◆ getDeepModeAsString()

__glo_export_dll std::string glo::getDeepModeAsString ( EnDeepMode eDeepMode)

Returns the passed glo::EnDeepMode as a string.

Parameters
[in]eDeepModeThe glo::EnDeepMode.
Returns
The glo::EnDeepMode as a string.

◆ getLockModeAsEnum()

__glo_export_dll EnLockMode glo::getLockModeAsEnum ( const std::string & rsLockMode)

Returns the passed rsLockMode as a glo::EnLockMode.

Parameters
[in]rsLockModeThe glo::EnLockMode as a string.
Returns
The glo::EnLockMode.

◆ getLockModeAsString()

__glo_export_dll std::string glo::getLockModeAsString ( EnLockMode eLockMode)

Returns the passed glo::EnLockMode as a string.

Parameters
[in]eLockModeThe glo::EnLockMode.
Returns
The glo::EnLockMode as a string.

◆ getNewRecordAttributeFromType()

int glo::getNewRecordAttributeFromType ( BaseRecordAttribute *& prRetVal,
ClassInfoAttribute * pClassInfoAttribute,
unsigned long ulClassID = 0 )

Returns an object derived from BaseRecordAttribute, which corresponds to thepassed ClassInfoAttribute.

Parameters
[in,out]prRetValPointer to instantiated record attribute.
[in]pClassInfoAttributeThe attribute type.
[in]ulClassIDOptionally the class ID if the attribute type == eDATATYPE_OBJID.
Returns
A return value < 0 indicates an error.
Attention
The supplied record attribute must be removed from memory by the calling instance using BaseRecordAttribute::forget().
Note
For Glo developers: Is implemented in GloRecordAttributeFunctions.cpp, so that extensions of record attributes can be made there collectively.

◆ getNewRecordAttributeFromTypeWithValue()

int glo::getNewRecordAttributeFromTypeWithValue ( BaseRecordAttribute *& prRetVal,
ClassInfoAttribute * pClassInfoAttribute,
const std::string & rsFieldContent,
const std::string & rsDataPath,
bool bOnlyClassIDTable = false )

Returns an object derived from BaseRecordAttribute, which corresponds to the passed ClassInfoAttribute. Additionally, information about the value of the attribute is provided.

Parameters
[in,out]prRetValPointer to instantiated record attribute.
[in]pClassInfoAttributeThe attribute type.
[in]rsFieldContentThe value as string.
[in]rsDataPathThe complete directory name in which the data of attributes with outsourced data can be found. The data is always located in a subdirectory of the directory where the schema file is located.
[in]bOnlyClassIDTableIf true, only the data fields are read from the table and not e.g. the possibly existing files of attributes with outsourced data.
Returns
A return value < 0 indicates an error.
Attention
The supplied record attribute must be removed from memory by the calling instance using BaseRecordAttribute::forget().
Note
For Glo developers: Is implemented in GloRecordAttributeFunctions.cpp, so that extensions of record attributes can be made there collectively.

Variable Documentation

◆ BLOB_TEXT_LENGTH

TypeDataLength glo::BLOB_TEXT_LENGTH = FILENAME_LENGTH
static

The default file name length of blobs.

◆ BOOL_TEXT_LENGTH

TypeDataLength glo::BOOL_TEXT_LENGTH = 1
static

The default length of 'bool' attributes for the data field in the table.

◆ CHAR_TEXT_LENGTH

TypeDataLength glo::CHAR_TEXT_LENGTH = 4
static

The default length of 'char' attributes for the data field in the table.

◆ CPP_TYPE_STR_BLOB

CppTypeString glo::CPP_TYPE_STR_BLOB = "eut::Blob"

◆ CPP_TYPE_STR_BOOL

CppTypeString glo::CPP_TYPE_STR_BOOL = "bool"

◆ CPP_TYPE_STR_CHAR

CppTypeString glo::CPP_TYPE_STR_CHAR = "char"

◆ CPP_TYPE_STR_DATE_TIME

CppTypeString glo::CPP_TYPE_STR_DATE_TIME = "std::time_t"

◆ CPP_TYPE_STR_DOUBLE

CppTypeString glo::CPP_TYPE_STR_DOUBLE = "double"

◆ CPP_TYPE_STR_DOUBLE_LIST

CppTypeString glo::CPP_TYPE_STR_DOUBLE_LIST = "std::list<double>"

◆ CPP_TYPE_STR_DOUBLE_SET

CppTypeString glo::CPP_TYPE_STR_DOUBLE_SET = "std::set<double>"

◆ CPP_TYPE_STR_DOUBLE_VECTOR

CppTypeString glo::CPP_TYPE_STR_DOUBLE_VECTOR = "std::vector<double>"

◆ CPP_TYPE_STR_FLOAT

CppTypeString glo::CPP_TYPE_STR_FLOAT = "float"

◆ CPP_TYPE_STR_INT

CppTypeString glo::CPP_TYPE_STR_INT = "int"

◆ CPP_TYPE_STR_INT_LIST

CppTypeString glo::CPP_TYPE_STR_INT_LIST = "std::list<int>"

◆ CPP_TYPE_STR_INT_SET

CppTypeString glo::CPP_TYPE_STR_INT_SET = "std::set<int>"

◆ CPP_TYPE_STR_INT_VECTOR

CppTypeString glo::CPP_TYPE_STR_INT_VECTOR = "std::vector<int>"

◆ CPP_TYPE_STR_LONG

CppTypeString glo::CPP_TYPE_STR_LONG = "long"

◆ CPP_TYPE_STR_LONGDOUBLE

CppTypeString glo::CPP_TYPE_STR_LONGDOUBLE = "long double"

◆ CPP_TYPE_STR_LONGLONG

CppTypeString glo::CPP_TYPE_STR_LONGLONG = "long long"

◆ CPP_TYPE_STR_OBJID

CppTypeString glo::CPP_TYPE_STR_OBJID = "glo::ObjID"

◆ CPP_TYPE_STR_OD_REF

CppTypeString glo::CPP_TYPE_STR_OD_REF = "glo::TOndemand"

◆ CPP_TYPE_STR_OD_REFLIST

CppTypeString glo::CPP_TYPE_STR_OD_REFLIST = "glo::TOndemandList"

◆ CPP_TYPE_STR_OD_REFSET

CppTypeString glo::CPP_TYPE_STR_OD_REFSET = "glo::TOndemandSet"

◆ CPP_TYPE_STR_PO_REFLIST

CppTypeString glo::CPP_TYPE_STR_PO_REFLIST = "glo::TPointerList"

◆ CPP_TYPE_STR_PO_REFSET

CppTypeString glo::CPP_TYPE_STR_PO_REFSET = "glo::TPointerSet"

◆ CPP_TYPE_STR_SHORT

CppTypeString glo::CPP_TYPE_STR_SHORT = "short"

◆ CPP_TYPE_STR_STDSHARED_REF

CppTypeString glo::CPP_TYPE_STR_STDSHARED_REF = "std::shared_ptr"

◆ CPP_TYPE_STR_STDUNIQUE_REF

CppTypeString glo::CPP_TYPE_STR_STDUNIQUE_REF = "std::unique_ptr"

◆ CPP_TYPE_STR_STRING

CppTypeString glo::CPP_TYPE_STR_STRING = "std::string"

◆ CPP_TYPE_STR_STRING_LIST

CppTypeString glo::CPP_TYPE_STR_STRING_LIST = "std::list<std::string>"

◆ CPP_TYPE_STR_STRING_SET

CppTypeString glo::CPP_TYPE_STR_STRING_SET = "std::set<std::string>"

◆ CPP_TYPE_STR_STRING_VECTOR

CppTypeString glo::CPP_TYPE_STR_STRING_VECTOR = "std::vector<std::string>"

◆ CPP_TYPE_STR_UNSIGNED_CHAR

CppTypeString glo::CPP_TYPE_STR_UNSIGNED_CHAR = "unsigned char"

◆ CPP_TYPE_STR_UNSIGNED_INT

CppTypeString glo::CPP_TYPE_STR_UNSIGNED_INT = "unsigned int"

◆ CPP_TYPE_STR_UNSIGNED_LONG

CppTypeString glo::CPP_TYPE_STR_UNSIGNED_LONG = "unsigned long"

◆ CPP_TYPE_STR_UNSIGNED_LONGLONG

CppTypeString glo::CPP_TYPE_STR_UNSIGNED_LONGLONG = "unsigned long long"

◆ CPP_TYPE_STR_UNSIGNED_SHORT

CppTypeString glo::CPP_TYPE_STR_UNSIGNED_SHORT = "unsigned short"

◆ DATA_REFERENCE_INFO_DELETE_EXT_FILE

const DATA_REFERENCE_INFO glo::DATA_REFERENCE_INFO_DELETE_EXT_FILE = 1
static

An external file must be deleted.

◆ DATA_REFERENCE_INFO_KEEP_EXT_FILE

const DATA_REFERENCE_INFO glo::DATA_REFERENCE_INFO_KEEP_EXT_FILE = 4
static

An external file must be kept.

◆ DATA_REFERENCE_INFO_NEW_EXT_FILE

const DATA_REFERENCE_INFO glo::DATA_REFERENCE_INFO_NEW_EXT_FILE = 2
static

An external file must be created.

◆ DATA_REFERENCE_INFO_NULL

const DATA_REFERENCE_INFO glo::DATA_REFERENCE_INFO_NULL = 0
static

No info, no need for action.

◆ DATETIME_TEXT_LENGTH

TypeDataLength glo::DATETIME_TEXT_LENGTH = 20
static

The default length of 'std::time_t' attributes for the data field in the table.

◆ DOUBLE_TEXT_LENGTH

TypeDataLength glo::DOUBLE_TEXT_LENGTH = 26
static

The default length of 'double' attributes for the data field in the table.

◆ FILENAME_LENGTH

TypeDataLength glo::FILENAME_LENGTH = 10
static

The default length of file names.

◆ FLOAT_TEXT_LENGTH

TypeDataLength glo::FLOAT_TEXT_LENGTH = 26
static

The default length of 'float' attributes for the data field in the table.

◆ g_cIndexDelimiter

const char glo::g_cIndexDelimiter = '|'

The separator for compound indexes.

See also
ClassInfoIndex::m_bIndexSeparator.

◆ g_cTableColumnDelimiter

const char glo::g_cTableColumnDelimiter = '\a'

The table column separator.
It is intended to be '\a'.
For test purposes a readable character like '|' can be used to view and edit the table file with a text editor.

Attention
Care must be taken to ensure that the final application only encounters table files which contain the current table column delimiter.

◆ g_sEOL

const std::string glo::g_sEOL = "\r\n"

Different operating systems have different line separators in text files.
The operating system is determined by the compiler used and g_sEOL is set accordingly.

Attention
If another compiler is used, g_sEOL must be adapted.

Current definition

#if defined ( _MSC_VER ) || defined ( __MINGW32__ ) || defined ( __MINGW64__ )
const std::string g_sEOL = "\r\n";
#elif defined ( __GNUC__ )
const std::string g_sEOL = "\n";
#endif
const std::string g_sEOL
Definition GloTypes.h:154

◆ INT_TEXT_LENGTH

TypeDataLength glo::INT_TEXT_LENGTH = 11
static

The default length of 'int' attributes for the data field in the table.

◆ LONG_TEXT_LENGTH

TypeDataLength glo::LONG_TEXT_LENGTH = 20
static

The default length of 'long' attributes for the data field in the table.

◆ LONGDOUBLE_TEXT_LENGTH

TypeDataLength glo::LONGDOUBLE_TEXT_LENGTH = 26
static

The default length of 'long double' attributes for the data field in the table.

◆ LONGLONG_TEXT_LENGTH

TypeDataLength glo::LONGLONG_TEXT_LENGTH = 20
static

The default length of 'long long' attributes for the data field in the table.

◆ LOT_TEXT_LENGTH

TypeDataLength glo::LOT_TEXT_LENGTH = FILENAME_LENGTH
static

The maximum length of file names of set attributes.

◆ OBJ_ID_DIGITVALUE

const unsigned long glo::OBJ_ID_DIGITVALUE = ULONG_MAX

The maximum size of the ObjID values.

◆ OBJID_DIGIT_LENGTH

TypeDataLength glo::OBJID_DIGIT_LENGTH = 10
static

The default length of each value of the ObjID.

◆ OBJID_TEXT_LENGTH

TypeDataLength glo::OBJID_TEXT_LENGTH = 32
static

The default length of 'ObjID' attributes for the data field in the table.

◆ SCHEMA_TYPE_STR_BLOB

SchemaTypeString glo::SCHEMA_TYPE_STR_BLOB = "eut::Blob"

◆ SCHEMA_TYPE_STR_BOOL

SchemaTypeString glo::SCHEMA_TYPE_STR_BOOL = "bool"

◆ SCHEMA_TYPE_STR_CHAR

SchemaTypeString glo::SCHEMA_TYPE_STR_CHAR = "char"

◆ SCHEMA_TYPE_STR_DATETIME

SchemaTypeString glo::SCHEMA_TYPE_STR_DATETIME = "std::time_t"

◆ SCHEMA_TYPE_STR_DOUBLE

SchemaTypeString glo::SCHEMA_TYPE_STR_DOUBLE = "double"

◆ SCHEMA_TYPE_STR_DOUBLELIST

SchemaTypeString glo::SCHEMA_TYPE_STR_DOUBLELIST = "std::list<double>"

◆ SCHEMA_TYPE_STR_DOUBLESET

SchemaTypeString glo::SCHEMA_TYPE_STR_DOUBLESET = "std::set<double>"

◆ SCHEMA_TYPE_STR_DOUBLEVECTOR

SchemaTypeString glo::SCHEMA_TYPE_STR_DOUBLEVECTOR = "std::vector<double>"

◆ SCHEMA_TYPE_STR_EMBEDDED

SchemaTypeString glo::SCHEMA_TYPE_STR_EMBEDDED = "embedded"

◆ SCHEMA_TYPE_STR_FLOAT

SchemaTypeString glo::SCHEMA_TYPE_STR_FLOAT = "float"

◆ SCHEMA_TYPE_STR_INT

SchemaTypeString glo::SCHEMA_TYPE_STR_INT = "int"

◆ SCHEMA_TYPE_STR_INTLIST

SchemaTypeString glo::SCHEMA_TYPE_STR_INTLIST = "std::list<int>"

◆ SCHEMA_TYPE_STR_INTSET

SchemaTypeString glo::SCHEMA_TYPE_STR_INTSET = "std::set<int>"

◆ SCHEMA_TYPE_STR_INTVECTOR

SchemaTypeString glo::SCHEMA_TYPE_STR_INTVECTOR = "std::vector<int>"

◆ SCHEMA_TYPE_STR_LONG

SchemaTypeString glo::SCHEMA_TYPE_STR_LONG = "long"

◆ SCHEMA_TYPE_STR_LONGDOUBLE

SchemaTypeString glo::SCHEMA_TYPE_STR_LONGDOUBLE = "long double"

◆ SCHEMA_TYPE_STR_LONGLONG

SchemaTypeString glo::SCHEMA_TYPE_STR_LONGLONG = "long long"

◆ SCHEMA_TYPE_STR_OBJID

SchemaTypeString glo::SCHEMA_TYPE_STR_OBJID = "glo::ObjId"

◆ SCHEMA_TYPE_STR_ONDEMANDREF

SchemaTypeString glo::SCHEMA_TYPE_STR_ONDEMANDREF = "glo::TOndemand"

◆ SCHEMA_TYPE_STR_ONDEMANDREFLIST

SchemaTypeString glo::SCHEMA_TYPE_STR_ONDEMANDREFLIST = "glo::TOndemandList"

◆ SCHEMA_TYPE_STR_ONDEMANDREFSET

SchemaTypeString glo::SCHEMA_TYPE_STR_ONDEMANDREFSET = "glo::TOndemandSet"

◆ SCHEMA_TYPE_STR_POINTERREF

SchemaTypeString glo::SCHEMA_TYPE_STR_POINTERREF = "pointer"

◆ SCHEMA_TYPE_STR_POINTERREFLIST

SchemaTypeString glo::SCHEMA_TYPE_STR_POINTERREFLIST = "glo::TPointerList"

◆ SCHEMA_TYPE_STR_POINTERREFSET

SchemaTypeString glo::SCHEMA_TYPE_STR_POINTERREFSET = "glo::TPointerSet"

◆ SCHEMA_TYPE_STR_SHORT

SchemaTypeString glo::SCHEMA_TYPE_STR_SHORT = "short"

◆ SCHEMA_TYPE_STR_STDSHAREDREF

SchemaTypeString glo::SCHEMA_TYPE_STR_STDSHAREDREF = "std::shared_ptr"

◆ SCHEMA_TYPE_STR_STDUNIQUEREF

SchemaTypeString glo::SCHEMA_TYPE_STR_STDUNIQUEREF = "std::unique_ptr"

◆ SCHEMA_TYPE_STR_STRING

SchemaTypeString glo::SCHEMA_TYPE_STR_STRING = "std::string"

◆ SCHEMA_TYPE_STR_STRINGLIST

SchemaTypeString glo::SCHEMA_TYPE_STR_STRINGLIST = "std::list<std::string>"

◆ SCHEMA_TYPE_STR_STRINGSET

SchemaTypeString glo::SCHEMA_TYPE_STR_STRINGSET = "std::set<std::string>"

◆ SCHEMA_TYPE_STR_STRINGVECTOR

SchemaTypeString glo::SCHEMA_TYPE_STR_STRINGVECTOR = "std::vector<std::string>"

◆ SCHEMA_TYPE_STR_UNSIGNED

SchemaTypeString glo::SCHEMA_TYPE_STR_UNSIGNED = "unsigned"

◆ SHORT_TEXT_LENGTH

TypeDataLength glo::SHORT_TEXT_LENGTH = 6
static

The default length of 'short' attributes for the data field in the table.

◆ SHOW_CHECK_BASE_ACTION

const ShowLevel glo::SHOW_CHECK_BASE_ACTION = 128

All table check actions.

◆ SHOW_COMPRESS_ACTION

const ShowLevel glo::SHOW_COMPRESS_ACTION = 64

All compressing actions.

◆ SHOW_NONE

const ShowLevel glo::SHOW_NONE = 0

No display.

◆ SHOW_ORDER_ACTION

const ShowLevel glo::SHOW_ORDER_ACTION = 4

All order actions.

◆ SHOW_READ_WRITE

const ShowLevel glo::SHOW_READ_WRITE = 2

All actions on tables.

◆ SHOW_READINDEX_ACTION

const ShowLevel glo::SHOW_READINDEX_ACTION = 16

All read index actions.

◆ SHOW_REINDEX_ACTION

const ShowLevel glo::SHOW_REINDEX_ACTION = 8

All reindex actions.

◆ SHOW_REPAIR_BASE_ACTION

const ShowLevel glo::SHOW_REPAIR_BASE_ACTION = 256

All table repair actions.

◆ SHOW_TCP

const ShowLevel glo::SHOW_TCP = 1

All tcp actions of the server.

◆ SHOW_WRITEINDEX_ACTION

const ShowLevel glo::SHOW_WRITEINDEX_ACTION = 32

All write index actions.

◆ STRING_MAX_INDEX_LENGTH

TypeDataLength glo::STRING_MAX_INDEX_LENGTH = 255
static

The maximum length of strings for the index.

◆ STRING_MAX_TEXT_LENGTH

TypeDataLength glo::STRING_MAX_TEXT_LENGTH = 64
static

The default string length for the visualization.

◆ STRING_TEXT_LENGTH

TypeDataLength glo::STRING_TEXT_LENGTH = 10
static

The default length of 'std::string' attributes for the data field in the table.

◆ UCHAR_TEXT_LENGTH

TypeDataLength glo::UCHAR_TEXT_LENGTH = 3
static

The default length of 'unsigned char' attributes for the data field in the table.

◆ UINT_TEXT_LENGTH

TypeDataLength glo::UINT_TEXT_LENGTH = 10
static

The default length of 'unsigned int' attributes for the data field in the table.

◆ ULONG_TEXT_LENGTH

TypeDataLength glo::ULONG_TEXT_LENGTH = 20
static

The default length of 'unsigned long' attributes for the data field in the table.

◆ ULONGLONG_TEXT_LENGTH

TypeDataLength glo::ULONGLONG_TEXT_LENGTH = 20
static

The default length of 'unsigned long' attributes for the data field in the table.

◆ USHORT_TEXT_LENGTH

TypeDataLength glo::USHORT_TEXT_LENGTH = 5
static

The default length of 'unsigned short' attributes for the data field in the table.

◆ WNM_CLIENT_CLOSEBASE

const TdWatchNotifyMode glo::WNM_CLIENT_CLOSEBASE = 2048

Notification is given when a client closes the database in multi-user mode.

◆ WNM_CLIENT_CONNECTSERVER

const TdWatchNotifyMode glo::WNM_CLIENT_CONNECTSERVER = 256

Notification is given when a client logs on to the GloServer in multi-user mode.

◆ WNM_CLIENT_DISCONNECTSERVER

const TdWatchNotifyMode glo::WNM_CLIENT_DISCONNECTSERVER = 512

Notification is given when a client logs off on to the GloServer in multi-user mode.

◆ WNM_CLIENT_OPENBASE

const TdWatchNotifyMode glo::WNM_CLIENT_OPENBASE = 1024

Notification is given when a client opens the database in multi-user mode.

◆ WNM_DATABASE_CHECK

const TdWatchNotifyMode glo::WNM_DATABASE_CHECK = 131072

It notifies about the progress of analyzing a database.

◆ WNM_DATABASE_COMPRESS

const TdWatchNotifyMode glo::WNM_DATABASE_COMPRESS = 32768

It notifies about the progress of compressing a database.

◆ WNM_DATABASE_REPAIR

const TdWatchNotifyMode glo::WNM_DATABASE_REPAIR = 65536

It notifies about the progress of repairing a database.

◆ WNM_DELETE

const TdWatchNotifyMode glo::WNM_DELETE = 4

If a persistent object with this value is watched, a notification will be sent if it is deleted by anyone in the database.
If an AllSet with this value is watched, a notification is sent when any object in it is deleted by anyone in the database.

◆ WNM_DELETE_TRANSACTION

const TdWatchNotifyMode glo::WNM_DELETE_TRANSACTION = 8

Like WNM_DELETE, is triggered in a transaction.

◆ WNM_INDEX_READ

const TdWatchNotifyMode glo::WNM_INDEX_READ = 4096

Notification is given about the progress of the index reading.

◆ WNM_INDEX_REINDEX

const TdWatchNotifyMode glo::WNM_INDEX_REINDEX = 16384

Notification is given about the progress of re-indexing an index.

◆ WNM_INDEX_WRITE

const TdWatchNotifyMode glo::WNM_INDEX_WRITE = 8192

Notification is given about the progress of the index writing.

◆ WNM_INSERT

const TdWatchNotifyMode glo::WNM_INSERT = 64

Only one AllSet can be watched with this value. A notification will be sent if it is any object is inserted into tha AllSet by anyone.

◆ WNM_INSERT_TRANSACTION

const TdWatchNotifyMode glo::WNM_INSERT_TRANSACTION = 128

Like WNM_INSERT, is triggered in a transaction.

◆ WNM_LOCK

const TdWatchNotifyMode glo::WNM_LOCK = 16

If a persistent object with this value is watched, a notification will be sent if it is locked by anyone in the database.
If an AllSet with this value is watched, a notification is sent when any object in it is locked by anyone in the database.

◆ WNM_NONE

const TdWatchNotifyMode glo::WNM_NONE = 0

It should not be watched and notified.

◆ WNM_SERVER_WSAECONNRESET

const TdWatchNotifyMode glo::WNM_SERVER_WSAECONNRESET = 262144

It is notified about the termination of the connection to a GloServer.

◆ WNM_UNLOCK

const TdWatchNotifyMode glo::WNM_UNLOCK = 32

If a persistent object with this value is watched, a notification will be sent if it is unlocked by anyone in the database.
If an AllSet with this value is watched, a notification is sent when any object in it is unlocked by anyone in the database.

◆ WNM_WRITE

const TdWatchNotifyMode glo::WNM_WRITE = 1

If a persistent object with this value is watched, a notification will be sent if it is stored by anyone in the database.
If an AllSet with this value is watched, a notification is sent when any object in it is stored by anyone in the database.

◆ WNM_WRITE_TRANSACTION

const TdWatchNotifyMode glo::WNM_WRITE_TRANSACTION = 2

Like WNM_WRITE, is triggered in a transaction.