GlobalObjects
Lade ...
Suche ...
Keine Treffer
glo::OrderMsg Klassenreferenz

Mittels dieser Klasse wird die Kommunikation zwischen der Applikation, welche GlobalObjects nutzt und GlobalObjects abgewickelt. Mehr ...

#include <GloOrderMsg.h>

Öffentliche Typen

enum  EnOrderType {
  eUNDEF = 0 , eGET_ALL_BASES , eGET_CLASSINFO_BY_CLASSID , eGET_CLASSINFO_BY_CLASSNAME ,
  eGET_ALL_DEFAULT_LIMITS , eGET_DATATYPE_LIMITS , eGET_SUBCLASS_INFOS , eGET_BASECLASS_INFOS ,
  eGET_ALL_SUBCLASS_INFOS , eGET_ALL_BASECLASS_INFOS , eGET_ALL_CLASS_INFOS , eIS_KNOWN_CLASSID ,
  eIS_SUPER_CLASS_FROM , eGET_ALL_CLIENTS , eOPEN_BASE , eCLOSE_BASE ,
  eASSIGN , eOPEN_ALLSET , eCLOSE_ALLSET , eGET_OBJID_WITH_OBJECT_FROM_ALLSET ,
  eGET_OBJID_FROM_ALLSET , eSET_INDEX_FILTER_BY_SEARCHVALUE_IN_ALLSET , eSET_INDEX_FILTER_BY_COMPARING_IN_ALLSET , eSET_INDEX_FILTER_BY_RANGE_IN_ALLSET ,
  eREMOVE_INDEX_FILTER , eGET_INDEXED_OBJIDS_BY_SEARCHVALUE_FROM_ALLSET , eGET_INDEXED_OBJIDS_BY_COMPARING_FROM_ALLSET , eGET_INDEXED_OBJIDS_BY_RANGE_FROM_ALLSET ,
  eGET_ALLSET_SIZE , eSET_CURRENT_OBJECT_IN_ALLSET , eSET_POSITION_IN_ALLSET , eCHECK_OBJID_IN_ALLSET ,
  eGET , eGET_REC , eREFRESH , eSTORE ,
  eIS_STORED , eDELETE , eDELETE_MULTIPLE , eLOCK ,
  eRELOCK , eUNLOCK , eIS_LOCKED , eIS_ALLOWED ,
  eGET_PROCESSING_POSSIBILITIES , eWATCH_OBJECT , eUNWATCH_OBJECT , eWATCH_CLASS ,
  eUNWATCH_CLASS , eWATCH_CLIENT , eUNWATCH_CLIENT , eWATCH_INDEX_READWRITE ,
  eUNWATCH_INDEX_READWRITE , eBEGIN_TRANSACTION , eCOMMIT_TRANSACTION , eABORT_TRANSACTION ,
  ePROCESS_TRANSACTION , eREINDEX_BASE , eCOMPRESS_BASE , eREPAIR_BASE ,
  eNOTIFY_CLIENT , eNOTIFY_OBJECT_AS_WRITTEN , ePROCESS_NOTIFY , eDELETE_COMMUNICATOR_WATCHES ,
  eNEW_CONNECTED_CLIENT , eDISCONNECTED_CLIENT
}
 
enum  EnSendDirection { eTO_CLIENT_ANSWER , eTO_CLIENT_NOTIFY , eTO_SERVER , eINTERN }
 
enum  EnStreamOrderDataType { eORDERDATA , eRESULTDATA }
 

Öffentliche Methoden

 OrderMsg (const eut::Blob &rBlob, EnStreamOrderDataType eStreamDataType, const std::map< unsigned long, ClassInfo * > *pSchemaInfoMap)
 
 OrderMsg (const std::string &rsSchemaName, Communicator *pCommunicator, EnOrderType eOrderType, void *pOrderObject, void *pOrderResult, void *pFirstAdditionalInfo, void *pSecondAdditionalInfo)
 
 OrderMsg (const std::string &rsSchemaName, EnOrderType eOrderType, void *pOrderObject, void *pFirstAdditionalInfo=nullptr)
 
virtual ~OrderMsg ()
 
void deleteFirstAdditionalInfo ()
 
void deleteOrderObject ()
 
void deleteOrderResult ()
 
void deleteSecondAdditionalInfo ()
 
CommunicatorgetCommunicator () const
 
std::string getCommunicatorClientName () const
 
unsigned int getCommunicatorID () const
 
int getErr () const
 
void * getFirstAdditionalInfo () const
 
unsigned int getOrderMsgID () const
 
void * getOrderObject () const
 
void * getOrderResult () const
 
OrderMsg::EnOrderType getOrderType () const
 
std::string getOrderTypeAsStr () const
 
std::string getSchemaName () const
 
void * getSecondAdditionalInfo () const
 
OrderMsg::EnSendDirection getSendDirection () const
 
NUM_PTR getThreadID () const
 
bool isProcessed ()
 
void * ReleaseOrderResult ()
 
void setCommunicator (Communicator *pCommunicator)
 
void setErr (int iErr)
 
void setFirstAdditionalInfo (void *pFirstAdditionalInfo)
 
void setOrderMsgID (unsigned int uiID)
 
void setOrderObject (void *pOrderObject)
 
void setOrderResult (void *pOrderResult)
 
void setOrderType (OrderMsg::EnOrderType eOrderType)
 
void setSecondAdditionalInfo (void *pSecondAdditionalInfo)
 
void setSendDirection (EnSendDirection eSendDirection)
 
void setThreadID (NUM_PTR ipThreadID)
 
int streamBlobInOrder (const eut::Blob &rBlob, EnStreamOrderDataType eStreamOrderDataType, const std::map< unsigned long, ClassInfo * > *pSchemaInfoMap)
 
void streamOrderInBlob (eut::Blob &rBlob, EnStreamOrderDataType eStreamOrderDataType) const
 
virtual std::string toString () const
 
bool willDestroyOrderObjectInDTor () const
 

Öffentliche, statische Methoden

static std::string getOrderTypeAsString (EnOrderType eOrderType)
 

Öffentliche Attribute

std::string m_strStatus
 

Geschützte Methoden

 OrderMsg ()
 
template<typename T >
int addStreamData0terminated (eut::Blob &rBlob, const T tData) const
 
int addStreamDataType (eut::Blob &rBlob, void *pData, EnStreamDataType eStreamDataType, std::map< ObjID, ObjID, std::less< ObjID > > &rReadyRecordMap) const
 
void deleteFirstAdditionalInfo (OrderMsg::EnOrderType eOrderType)
 
void deleteOrderObject (OrderMsg::EnOrderType eOrderType)
 
void deleteOrderResult (OrderMsg::EnOrderType eOrderType)
 
void deleteSecondAdditionalInfo (OrderMsg::EnOrderType eOrderType)
 
int setDataFromStream (const eut::Blob &rBlob, std::size_t &rnCurrentBlobPosition, std::size_t &rnBlobPosition, void *&prData, EnStreamDataType eStreamDataType, const std::map< unsigned long, ClassInfo * > *pSchemaInfoMap)
 

Private Typen

enum  EnStreamDataType {
  eUNDEF_DATATYPE = 0 , eALLSET_ITER_RESULT , eALLSET_STRUCT , eBOOL ,
  eCLASSINFO , eCLASSINFO_MAP , eCLIENTINFO_VECTOR , eCLIENTONFO ,
  eCOMPARISION_QUERRY_STRUCT , eDATATYPE , eDATATYPELIMITS , eDATATYPELIMITS_VECTOR ,
  eFLOAT , eLOCKSPEC_STRUCT , eNOTIFYNOTE_STRUCT , eOBJID ,
  eOBJID_LIST , eOBJID_VECTOR , eOPENSPEC_STRUCT , eQUERRY_STRUCT ,
  eRANGE_QUERRY_STRUCT , eRECORD , eRECORD_LIST , eRECORD_MAP ,
  eSIGNED , eSTRING , eSTRING_VECTOR , eUNSIGNED_INT ,
  eUNSIGNED_INTPTR , eUNSIGNED_LONG , eUNSIGNED_SIZE , eWATCHSPEC_STRUCT
}
 

Private Methoden

 OrderMsg (const OrderMsg &)
 
OrderMsgoperator= (const OrderMsg &)
 

Private Attribute

bool m_bDestroyOrderObject
 
bool m_bFirstAdditionalInfoModified
 
bool m_bOrderObjectModified
 
bool m_bProcessed
 
bool m_bSecondAdditionalInfoModified
 
OrderMsg::EnSendDirection m_eDirection
 
OrderMsg::EnOrderType m_eOrderType
 
int m_iErr
 
NUM_PTR m_ipThreadID
 
Communicatorm_pCommunicator
 
void * m_pFirstAdditionalInfo
 
void * m_pOrderObject
 
void * m_pOrderResult
 
void * m_pSecondAdditionalInfo
 
std::string m_sCommunicatorClientName
 
std::string m_sSchemaName
 
unsigned int m_uiCommunicatorID
 
unsigned int m_uiID
 

Freundbeziehungen

class CommunicaterThread
 

Ausführliche Beschreibung

Mittels dieser Klasse wird die Kommunikation zwischen der Applikation, welche GlobalObjects nutzt und GlobalObjects abgewickelt.

In der OrderMsg werden Anfragen, Aufträge an die Datenbank wie auch deren Ergebnisse transportiert.

Autor
Helmut Jakoby

Dokumentation der Aufzählungstypen

◆ EnOrderType

Der Auftragstyp. Wenn erweitert wird, Methode OrderMsg::getOrderTypeAsString( EnOrderType ) anpassen!

Aufzählungswerte
eUNDEF 

Undefiniert

eGET_ALL_BASES 

Auftrag: Liefer alle Datenbanknamen.
m_pOrderObject = int (Dummy)
m_pOrderResult = vector<std::string>
m_pFirstAdditionalInfo = nullptr

eGET_CLASSINFO_BY_CLASSID 

Auftrag: Liefer die Klasseninformation einer Klasse mit übergebener Klassen-ID.
m_pOrderObject = unsigned long (ClassID)
m_pOrderResult = ClassInfo
m_pFirstAdditionalInfo = nullptr

eGET_CLASSINFO_BY_CLASSNAME 

Auftrag: Liefer die Klasseninformation einer Klasse mit übergebenen Klassenbezeichnung.
m_pOrderObject = std::string (Clientname)
m_pOrderResult = ClassInfo
m_pFirstAdditionalInfo = nullptr

eGET_ALL_DEFAULT_LIMITS 

Auftrag: Liefer alle Attribut-Limits.
m_pOrderObject = int (Dummy)
m_pOrderResult = vector<LimitRecord>
m_pFirstAdditionalInfo = nullptr

eGET_DATATYPE_LIMITS 

Auftrag: Liefer die Limits eines Attributs.
m_pOrderObject = ClassInfoAttribute::Type
m_pOrderResult = LimitRecord
m_pFirstAdditionalInfo = nullptr

eGET_SUBCLASS_INFOS 

Auftrag: Liefer die Klasseninformationen der direkten Unterklassen einer Klasse.
m_pOrderObject = unsigned long (ClassID)
m_pOrderResult = std::map< unsigned long, ClassInfo *, std::less<unsigned long> >
m_pFirstAdditionalInfo = nullptr

eGET_BASECLASS_INFOS 

Auftrag: Liefer die Klasseninformationen der direkten Oberklassen einer Klasse.
m_pOrderObject = unsigned long (ClassID)
m_pOrderResult = std::map< unsigned long, ClassInfo *, std::less<unsigned long> >
m_pFirstAdditionalInfo = nullptr

eGET_ALL_SUBCLASS_INFOS 

Auftrag: Liefer die Klasseninformationen alle Unterklassen einer Klasse.
m_pOrderObject = unsigned long (ClassID)
m_pOrderResult = std::map< unsigned long, ClassInfo *, std::less<unsigned long> >
m_pFirstAdditionalInfo = nullptr

eGET_ALL_BASECLASS_INFOS 

Auftrag: Liefer die Klasseninformationen alle Oberklassen einer Klasse.
m_pOrderObject = unsigned long (ClassID)
m_pOrderResult = std::map< unsigned long, ClassInfo *, std::less<unsigned long> >
m_pFirstAdditionalInfo = nullptr

eGET_ALL_CLASS_INFOS 

Auftrag: Liefer alle Klasseninformationen.
m_pOrderObject = unsigned long (Dummy)
m_pOrderResult = std::map< unsigned long, ClassInfo *, std::less<unsigned long> >
m_pFirstAdditionalInfo = nullptr

eIS_KNOWN_CLASSID 

Auftrag: Prüfe, ob eine Klassen-ID in der Datenbank bekannt ist.
m_pOrderObject = unsigned long (ClassID)
m_pOrderResult = bool
m_pFirstAdditionalInfo = nullptr

eIS_SUPER_CLASS_FROM 

Auftrag: Prüfe, ob eine Klasse Oberklasse einer anderen Klassen ist.
m_pOrderObject = ObjID (ObjID::m_ulClassID -> super class id, ObjID::m_ulBaseID -> sub class id)
m_pOrderResult = bool
m_pFirstAdditionalInfo = nullptr

eGET_ALL_CLIENTS 

Auftrag: Liefer alle Clients welche eine Datenbank geöffnet haben bzw. im Serverbetrieb sich mit dem GloServer verbunden haben.
m_pOrderObject = int (Dummy)
m_pOrderResult = std::vector< ClientInfo >
m_pFirstAdditionalInfo = std::string (Databasename)

eOPEN_BASE 

Auftrag: Öffne die Datenbank.
m_pOrderObject = std::string (Clientname)
m_pOrderResult = unsigned int ClientID || CommunicatorID
m_pFirstAdditionalInfo = OpenSpecification

eCLOSE_BASE 

Auftrag: Schließe die Datenbank.
m_pOrderObject = unsigned int (ClientID) || CommunicatorID
m_pOrderResult = nullptr
m_pFirstAdditionalInfo = nullptr

eASSIGN 

Auftrag: Melde das Objekt einer Klasse in der Datenbank an und liefer die Objekt-ID.
m_pOrderObject = unsigned long (ClassID)
m_pOrderResult = ObjID (neu)
m_pFirstAdditionalInfo = nullptr

eOPEN_ALLSET 

Auftrag: Öffne einen AllSet.
m_pOrderObject = AllSetStruct
m_pOrderResult = nullptr
m_pFirstAdditionalInfo = nullptr

eCLOSE_ALLSET 

Auftrag: Schließe einen AllSet.
m_pOrderObject = AllSetStruct
m_pOrderResult = nullptr
m_pFirstAdditionalInfo = nullptr

eGET_OBJID_WITH_OBJECT_FROM_ALLSET 

Auftrag: Liefer eine Objekt-ID und das Objekt aus einem AllSet.
m_pOrderObject = AllSetStruct
m_pOrderResult = AllSetIteratorResult
m_pFirstAdditionalInfo = zwischendurch für Transfer eine ReaderInfo

eGET_OBJID_FROM_ALLSET 

Auftrag: Liefer eine Objekt-ID aus einem AllSet.
m_pOrderObject = AllSetStruct
m_pOrderResult = ObjID
m_pFirstAdditionalInfo = nullptr

eSET_INDEX_FILTER_BY_SEARCHVALUE_IN_ALLSET 

Auftrag: Setze einen Indexfilter im AllSet.
m_pOrderObject = IndexQueryStruct
m_pOrderResult = nullptr
m_pFirstAdditionalInfo = nullptr

eSET_INDEX_FILTER_BY_COMPARING_IN_ALLSET 

Auftrag: Setze Indexfilter im AllSet.
m_pOrderObject = ComparisionIndexQueryStruct
m_pOrderResult = nullptr
m_pFirstAdditionalInfo = nullptr

eSET_INDEX_FILTER_BY_RANGE_IN_ALLSET 

Auftrag: Setze Indexfilter im AllSet.
m_pOrderObject = RangeIndexQueryStruct
m_pOrderResult = nullptr
m_pFirstAdditionalInfo = nullptr

eREMOVE_INDEX_FILTER 

Auftrag: Entferne einen evtl. forhandenen Indexfilter im AllSet.
m_pOrderObject = NUM_PTR, Adresse vom AllSet, kein löschen!
m_pOrderResult = nullptr
m_pFirstAdditionalInfo = nullptr

eGET_INDEXED_OBJIDS_BY_SEARCHVALUE_FROM_ALLSET 

Auftrag: Liefer Objekt-IDs aus Indexabfrage aus AllSet.
m_pOrderObject = IndexQueryStruct
m_pOrderResult = std::vector<ObjID>
m_pFirstAdditionalInfo = nullptr

eGET_INDEXED_OBJIDS_BY_COMPARING_FROM_ALLSET 

Auftrag: Liefer Objekt-IDs aus Indexabfrage aus AllSet.
m_pOrderObject = ComparisionIndexQueryStruct
m_pOrderResult = std::vector<ObjID>
m_pFirstAdditionalInfo = nullptr

eGET_INDEXED_OBJIDS_BY_RANGE_FROM_ALLSET 

Auftrag: Liefer Objekt-IDs aus Indexabfrage aus AllSet.
m_pOrderObject = RangeIndexQueryStruct
m_pOrderResult = std::vector<ObjID>
m_pFirstAdditionalInfo = nullptr

eGET_ALLSET_SIZE 

Auftrag: Liefer Anzahl der Objekte in einem AllSet.
m_pOrderObject = AllSetStruct
m_pOrderResult = size_t
m_pFirstAdditionalInfo = nullptr

eSET_CURRENT_OBJECT_IN_ALLSET 

Auftrag: Setze den Positionszeiger auf das Objekt mit einer Objekt-ID in einem AllSet.
m_pOrderObject = ObjID
m_pOrderResult = nullptr
m_pFirstAdditionalInfo = NUM_PTR, Adresse vom AllSet

eSET_POSITION_IN_ALLSET 

Auftrag: Setze den Positionszeiger in einem AllSet.
m_pOrderObject = size_t (Position)
m_pOrderResult = nullptr
m_pFirstAdditionalInfo = NUM_PTR, Adresse vom AllSet

eCHECK_OBJID_IN_ALLSET 

Auftrag: Prüfe, ob Objekt-ID im AllSet ist.
m_pOrderObject = ObjID
m_pOrderResult = nullptr
m_pFirstAdditionalInfo = NUM_PTR, Adresse vom AllSet

eGET 

Auftrag: Liefer vollständigen Datensatz eines Objektes mit einer Objekt-ID aus der Datenbank.
m_pOrderObject = ObjID
m_pOrderResult = Record (neu)
m_pFirstAdditionalInfo = zwischendurch für Transfer eine ReaderInfo

eGET_REC 

Auftrag: Liefer einen Record des Objektes mit einer Objekt-ID aus der Datenbank.
m_pOrderObject = ObjID
m_pOrderResult = Record (new)
m_pFirstAdditionalInfo = -> unsigned long ClassID, zwischendurch für Transfer eine ReaderInfo

eREFRESH 

Auftrag: Frische einen Datensatz eines Objektes mit einer Objekt-ID aus der Datenbank auf.
m_pOrderObject = ObjID
m_pOrderResult = Record (new)

eSTORE 

Auftrag: Speicher Datensätze in der Datenbank.
m_pOrderObject = std::map< ObjID, Record *, std::less<ObjID> >
m_pOrderResult = std::list< Record * > (new)
m_pFirstAdditionalInfo = unsigned int (EnDeepMode)

eIS_STORED 

Auftrag: Prüfe, ob Objekt mit einer Objekt-ID in der Datenbank gespeichert ist.
m_pOrderObject = ObjID
m_pOrderResult = bool
m_pFirstAdditionalInfo = nullptr

eDELETE 

Auftrag: Lösche Datensätze in der Datenbank.
m_pOrderObject = std::map< ObjID, Record , std::less<ObjID> >
m_pOrderResult = std::list<Record
> (neu)
m_pFirstAdditionalInfo = int (EnDeepMode)

eDELETE_MULTIPLE 

Auftrag: Lösche Liste von Objekten, repesentiert durch ihre Objekt-ID, in der Datenbank.
m_pOrderObject = std::vector< ObjID >
m_pOrderResult = nullptr
m_pFirstAdditionalInfo = int (EnDeepMode)

eLOCK 

Auftrag: Sperre Objekte mit Objekt-ID in der Datenbank.
m_pOrderObject = std::list<ObjID> br> m_pOrderResult = nullptr
m_pFirstAdditionalInfo = LockSpecification

eRELOCK 

Auftrag: Sperre Objekte mit Objekt-ID in der Datenbank neu.
m_pOrderObject = std::list<ObjID> br> m_pOrderResult = nullptr
m_pFirstAdditionalInfo = LockSpecification

eUNLOCK 

Auftrag: Gebe Objekte mit Objekt-ID in der Datenbank frei.
m_pOrderObject = std::list<ObjID> br> m_pOrderResult = nullptr
m_pFirstAdditionalInfo = LockSpecification

eIS_LOCKED 

Auftrag: Prüfe, ob Objekte mit Objekt-ID in Datenbank gesperrt.
m_pOrderObject = std::list<ObjID> br> m_pOrderResult = nullptr
m_pFirstAdditionalInfo = LockSpecification

eIS_ALLOWED 

Auftrag: Prüfe bestimmte Aktion, die mit Objekten mit Objekt-ID in Datenbank erlaubt sind (in Bezug auf Sperren).
m_pOrderObject = std::list<ObjID> br> m_pOrderResult = nullptr
m_pFirstAdditionalInfo = LockSpecification

eGET_PROCESSING_POSSIBILITIES 

Auftrag: Liefer erlaubte Aktionen, die mit Objekten mit Objekt-ID in der Datenbank erlaubt sind (in Bezug auf Sperren).
m_pOrderObject = std::list<ObjID>
m_pOrderResult = unsigned long (Bit 1 = Read, Bit 2 = Write, Bit 3 = Delete)
m_pFirstAdditionalInfo = LockSpecification

eWATCH_OBJECT 

Auftrag: Überwache die Objekte mit Objekt-ID in der Datenbank und benachrichtige.
m_pOrderObject = std::list<ObjID>
m_pOrderResult = nullptr
m_pFirstAdditionalInfo = WatchSpecification

eUNWATCH_OBJECT 

Auftrag: Beende die Überwachung von Objekten mit Objekt-ID in der Datenbank.
m_pOrderObject = std::list<ObjID>
m_pOrderResult = nullptr
m_pFirstAdditionalInfo = WatchSpecification

eWATCH_CLASS 

Auftrag: Überwache einen AllSet in der Datenbank und benachrichtige.
m_pOrderObject = unsigned long (ClassID)
m_pOrderResult = nullptr
m_pFirstAdditionalInfo = WatchSpecification

eUNWATCH_CLASS 

Auftrag: Beende Überwachung von AllSet in Datenbank.
m_pOrderObject = unsigned long (ClassID)
m_pOrderResult = nullptr
m_pFirstAdditionalInfo = WatchSpecification

eWATCH_CLIENT 

Auftrag: Überwache die Anmeldung an einen GloServer und das Öffnen einer Datenbank von Clients und benachrichtige.
m_pOrderObject = int (Dummy)
m_pOrderResult = nullptr
m_pFirstAdditionalInfo = WatchSpecification

eUNWATCH_CLIENT 

Auftrag: Beende Überwachung von Clients.
m_pOrderObject = int (Dummy)
m_pOrderResult = nullptr
m_pFirstAdditionalInfo = WatchSpecification

eWATCH_INDEX_READWRITE 

Auftrag: Überwache die Neuindizierung einer Datenbank und benachrichtige.
m_pOrderObject = int (Dummy)
m_pOrderResult = nullptr
m_pFirstAdditionalInfo = WatchSpecification

eUNWATCH_INDEX_READWRITE 

Auftrag: Beende die Überwachung der Neuindizierung einer Datenbank.
m_pOrderObject = int (Dummy)
m_pOrderResult = nullptr
m_pFirstAdditionalInfo = WatchSpecification

eBEGIN_TRANSACTION 

Auftrag: Beginne Transaktion.
m_pOrderObject = int (Dummy)
m_pOrderResult = nullptr
m_pFirstAdditionalInfo = nullptr

eCOMMIT_TRANSACTION 

Auftrag: Schließe Transaktion ab und führe Aktionen aus.
m_pOrderObject = int (Dummy)
m_pOrderResult = nullptr
m_pFirstAdditionalInfo = nullptr

eABORT_TRANSACTION 

Auftrag: Breche Transaktion ab und führe Aktionen nicht aus.
m_pOrderObject = int (Dummy)
m_pOrderResult = nullptr
m_pFirstAdditionalInfo = nullptr

ePROCESS_TRANSACTION 

Auftrag: Wird nur intern im Manager genutzt, verarbeitet eine Transaktion.
m_pOrderObject = TransactionManager::CommunicatorTransactionStack *
m_pOrderResult = nullptr
m_pFirstAdditionalInfo = nullptr

eREINDEX_BASE 

Auftrag: Reindiziere die Datenbank.
m_pOrderObject = int (Dummy)
m_pOrderResult = nullptr
m_pFirstAdditionalInfo = nullptr

eCOMPRESS_BASE 

Auftrag: Komprimiert die Datenbank.
m_pOrderObject = int (Dummy)
m_pOrderResult = nullptr
m_pFirstAdditionalInfo = nullptr

eREPAIR_BASE 

Auftrag: Repariere die Datenbank.
m_pOrderObject = int (Dummy)
m_pOrderResult = nullptr
m_pFirstAdditionalInfo = nullptr

eNOTIFY_CLIENT 

Auftrag: Wird nur intern im Manager genutzt, initiiert Benachrichtigungen an Clients.
m_pOrderObject = nullptr
m_pOrderResult = NotifyNote
m_pFirstAdditionalInfo = nullptr

eNOTIFY_OBJECT_AS_WRITTEN 

Auftrag: Melde Objekte einer persistent Klasse als in der Datenbank geändert.
m_pOrderObject = std::list<ObjID> br> m_pOrderResult = nullptr m_pFirstAdditionalInfo = nullptr

ePROCESS_NOTIFY 

Auftrag: Wird vom Manager, LockManager und TableReaderInterface genutzt, um den WatchNotifyManager zu beauftragen, Clients zu benachrichtigen, dass etwas passiert ist.
m_pOrderObject = WatchNotifyManager::NotifyInfo
m_pOrderResult = nullptr
m_pFirstAdditionalInfo = nullptr

eDELETE_COMMUNICATOR_WATCHES 

Auftrag: Wird vom Manager genutzt, um den WatchNotifyManager zu beauftragen, alle ausstehenden Watches eines Communicators entfernen zu lassen.
m_pOrderObject = int (Dummy)
m_pOrderResult = nullptr
m_pFirstAdditionalInfo = nullptr

eNEW_CONNECTED_CLIENT 

Auftrag: Wird nur intern vom GloServer genutzt, um den Manager zu informieren, dass sich ein neuer Client mit dem GloServer verbunden hat.
m_pOrderObject = ClientInfo
m_pOrderResult = nullptr
m_pFirstAdditionalInfo = nullptr

eDISCONNECTED_CLIENT 

Auftrag: Wird nur intern vom GloServer genutzt, um den Manager zu informieren, dass sich ein Client beim GloServer abgemeldet hat.
m_pOrderObject = ClientInfo
m_pOrderResult = nullptr
m_pFirstAdditionalInfo = nullptr

◆ EnSendDirection

Der Auftrag hat eine Senderichtung, welche mit dieser Enumeration gekennzeichnet wird.

Aufzählungswerte
eTO_CLIENT_ANSWER 

Der Auftrag ist eine Antwort bzw. ein Ergebnis an den Client.

eTO_CLIENT_NOTIFY 

Der Auftrag ist eine Benachrichtigung an den Client.

eTO_SERVER 

Ein Auftrag an den GloServer.

eINTERN 

Ein interner Auftrag z.B. vom GloServer an den Manager.

◆ EnStreamDataType

Zeigt an, welchen Typs die Auftrags- bzw. Ergebnisdaten sind.

Aufzählungswerte
eUNDEF_DATATYPE 

undefined

eALLSET_ITER_RESULT 

AllSetIteratorResult

eALLSET_STRUCT 

AllSetStruct *

eBOOL 

bool

eCLASSINFO 

ClassInfo *

eCLASSINFO_MAP 

std::map< unsigned long, ClassInfo *, std::less<unsigned long> > *

eCLIENTINFO_VECTOR 

std::vector< ClientInfo >

eCLIENTONFO 

ClientInfo

eCOMPARISION_QUERRY_STRUCT 

ComparisionIndexQueryStruct *

eDATATYPE 

ClassInfoAttribute::Type *

eDATATYPELIMITS 

LimitRecord *

eDATATYPELIMITS_VECTOR 

std::vector< LimitRecord > *

eFLOAT 

double

eLOCKSPEC_STRUCT 

LockSpecification *

eNOTIFYNOTE_STRUCT 

NotifyNote *

eOBJID 

ObjID *

eOBJID_LIST 

std::list< ObjID > *

eOBJID_VECTOR 

std::vector< ObjID >

eOPENSPEC_STRUCT 

OpenSpecification *

eQUERRY_STRUCT 

IndexQueryStruct *

eRANGE_QUERRY_STRUCT 

RangeIndexQueryStruct *

eRECORD 

Record

eRECORD_LIST 

std::list< Record * > *

eRECORD_MAP 

std::map< ObjID, Record *, std::less<ObjID> *

eSIGNED 

int

eSTRING 

std::string

eSTRING_VECTOR 

std::vector< std::string > *

eUNSIGNED_INT 

unsigned int

eUNSIGNED_INTPTR 

NUM_PTR

eUNSIGNED_LONG 

unsigned long

eUNSIGNED_SIZE 

size_t

eWATCHSPEC_STRUCT 

. WatchSpecification *

◆ EnStreamOrderDataType

Aufträge werden mit den Auftragsdaten von einer beauftragenden Instanz versendet. Der gleiche Auftrag wird i.d.R. genutzt, um die Ergebnisdaten an die beauftragende Instanz zurück zu senden, dann ändert sich der Status von eORDERDATA to eRESULTDATA

Aufzählungswerte
eORDERDATA 

Der Auftrag ist noch nicht bearbeitet, hat Auftragsdaten.

eRESULTDATA 

Der Auftrag ist bearbeitet, hat Ergebnisdaten.

Beschreibung der Konstruktoren und Destruktoren

◆ OrderMsg() [1/5]

glo::OrderMsg::OrderMsg ( )
protected

Der Standard-Konstruktor steht nicht zur Verfügung.

◆ OrderMsg() [2/5]

glo::OrderMsg::OrderMsg ( const std::string & rsSchemaName,
Communicator * pCommunicator,
EnOrderType eOrderType,
void * pOrderObject,
void * pOrderResult,
void * pFirstAdditionalInfo,
void * pSecondAdditionalInfo )

Konstruktor mit Parameterübergabe. Instanziiert einen Auftrag entweder mit Auftrags- oder Ergebnis-Daten und optionalen zusätzlichen Informationsdaten.

Parameter
[in]rsSchemaNameDie Schemabezeichnung bzw. Basename für den der Auftrag gilt.
[in]pCommunicatorDer beauftragende Kommunikator.
[in]eOrderTypeDer Auftragstyp.
[in]pOrderObjectRoher Zeiger auf die Auftragsdaten (Typen siehe m_pOrderObject).
[in]pOrderResultRoher Zeiger auf die Ergebnisdaten (Typen siehe m_pOrderResult).
[in]pFirstAdditionalInfoRoher Zeiger auf eine erste zusätzliche Informationen (optional).
[in]pSecondAdditionalInfoRoher Zeiger auf eine zweite zusätzliche Informationen (optional).
Ausnahmebehandlung
eut::ErrorNExceptionBei einem Fehler wird eine Exception geworfen.
Achtung
pOrderObject, pOrderResult, pFirstAdditionalInfo und pSecondAdditionalInfo gehen in den Besitz von OrderMsg über. Das heißt, dass die übergebende Instanz diese Objekte nicht aus dem Speicher entfernen darf.

◆ OrderMsg() [3/5]

glo::OrderMsg::OrderMsg ( const std::string & rsSchemaName,
EnOrderType eOrderType,
void * pOrderObject,
void * pFirstAdditionalInfo = nullptr )

Konstruktor mit Parameterübergabe. instanziiert einen Auftrag mit Auftragsdaten. Da ohne Kommunikator, für den 'internen' Gebrauch und nicht zur Kommunikation zwischen Client und Server bzw. Datenbank.

Parameter
[in]rsSchemaNameDie Schemabezeichnung bzw. Basename für wen der Auftrag ist.
[in]eOrderTypeDer Auftragstyp.
[in]pOrderObjectRoher Zeiger auf die Auftragsdaten (Typen siehe m_pOrderObject).
[in]pFirstAdditionalInfoOptionaler roher Zeiger auf zusätzliche Informationen.
Ausnahmebehandlung
eut::ErrorNExceptionBei einem Fehler wird eine Exception geworfen.
Achtung
pOrderObject und pFirstAdditionalInfo gehen in den Besitz von OrderMsg über. Das heißt, dass die übergebende Instanz diese Objekte nicht aus dem Speicher entfernen darf.

◆ OrderMsg() [4/5]

glo::OrderMsg::OrderMsg ( const eut::Blob & rBlob,
EnStreamOrderDataType eStreamDataType,
const std::map< unsigned long, ClassInfo * > * pSchemaInfoMap )

Konstruktor mit Parameterübergabe. Setzt die Attribute aus dem übergebenen Blob.

Parameter
[in]rBlobDer Auftrag als Blob.
[in]eStreamDataTypeAuftrag oder Ergebnis.
[in]pSchemaInfoMapEs müssen die Klasseninformationen übergeben werden, um Datensätze bauen zu können.
Ausnahmebehandlung
eut::ErrorNExceptionBei einem Fehler wird eine Exception geworfen.

◆ ~OrderMsg()

virtual glo::OrderMsg::~OrderMsg ( )
virtual

Desttruktor. Es werden, wenn vorhanden m_pOrderObject (siehe auch m_bDestroyOrderObject), m_pOrderResult und m_pFirstAdditionalInfo aus dem Speicher entfernt.

◆ OrderMsg() [5/5]

glo::OrderMsg::OrderMsg ( const OrderMsg & )
private

Der Copy-Konstruktor steht nicht zur Verfügung.

Dokumentation der Elementfunktionen

◆ addStreamData0terminated()

template<typename T >
int glo::OrderMsg::addStreamData0terminated ( eut::Blob & rBlob,
const T tData ) const
protected

Hängt einen Wert als 0-terminierten String an übergebenen Blob an.

Parameter
[in,out]rBlobDas zu erweiternde Blob.
[in]tDataDer anzuhängende Wert.
Rückgabe
Ein Rückgabewert < 0 zeigt einen Fehler an.

◆ addStreamDataType()

int glo::OrderMsg::addStreamDataType ( eut::Blob & rBlob,
void * pData,
EnStreamDataType eStreamDataType,
std::map< ObjID, ObjID, std::less< ObjID > > & rReadyRecordMap ) const
protected

Hilfsmethode für OrderMsg::streamOrderInBlob (...); hängt an übergebenen Blob Daten an.

Parameter
[in,out]rBlobDas zu erweiternde Blob.
[in]pDataDer anzuhängende Wert; wird je nach übergebenen OrderMsg::EnStreamDataType gecastet.
[in]eStreamDataTypeDer Typ des anzuhängende Werts.
[in]rReadyRecordMapEine Map mit Objekt-IDs, welche schon im Blob sind.
Rückgabe
Ein Rückgabewert < 0 zeigt einen Fehler an.
Ausnahmebehandlung
eut::ErrorNExceptionBei einem unbehebbaren Fehler wird eine Exception geworfen.

◆ deleteFirstAdditionalInfo() [1/2]

void glo::OrderMsg::deleteFirstAdditionalInfo ( )

Löscht die erste Zusatzinfo, wenn gesetzt, aus dem Speicher.

Siehe auch
m_pFirstAdditionalInfo

◆ deleteFirstAdditionalInfo() [2/2]

void glo::OrderMsg::deleteFirstAdditionalInfo ( OrderMsg::EnOrderType eOrderType)
protected

Löscht die erste Zusatzinfo, wenn gesetzt, aus dem Speicher.

Parameter
[in]eOrderTypeEs wird die Zusatzinfo dem Ordertyp entsprechende gecastet und dann gelöscht.
Siehe auch
m_pFirstAdditionalInfo

◆ deleteOrderObject() [1/2]

void glo::OrderMsg::deleteOrderObject ( )

Löscht die Auftragsdaten, wenn gesetzt, aus dem Speicher.

Siehe auch
m_pOrderObject

◆ deleteOrderObject() [2/2]

void glo::OrderMsg::deleteOrderObject ( OrderMsg::EnOrderType eOrderType)
protected

Löscht die Auftragsdaten, wenn gesetzt, aus dem Speicher.

Parameter
[in]eOrderTypeEs werden die Auftragsdaten dem Ordertyp entsprechende gecastet und dann gelöscht.
Siehe auch
m_pOrderObject

◆ deleteOrderResult() [1/2]

void glo::OrderMsg::deleteOrderResult ( )

Löscht die Ergebnisdaten, wenn gesetzt, aus dem Speicher.

Siehe auch
m_pOrderResult

◆ deleteOrderResult() [2/2]

void glo::OrderMsg::deleteOrderResult ( OrderMsg::EnOrderType eOrderType)
protected

Löscht die Ergebnisdaten, wenn gesetzt, aus dem Speicher.

Parameter
[in]eOrderTypeEs werden die Ergebnisdaten dem Ordertyp entsprechende gecastet und dann gelöscht.
Siehe auch
m_pOrderResult

◆ deleteSecondAdditionalInfo() [1/2]

void glo::OrderMsg::deleteSecondAdditionalInfo ( )

Löscht die zweite Zusatzinfo, wenn gesetzt, aus dem Speicher.

Siehe auch
m_pFirstAdditionalInfo

◆ deleteSecondAdditionalInfo() [2/2]

void glo::OrderMsg::deleteSecondAdditionalInfo ( OrderMsg::EnOrderType eOrderType)
protected

Löscht die zweite Zusatzinfo, wenn gesetzt, aus dem Speicher.

Parameter
[in]eOrderTypeEs wird die Zusatzinfo dem Ordertyp entsprechende gecastet und dann gelöscht.
Siehe auch
m_pSecondAdditionalInfo

◆ getCommunicator()

Communicator * glo::OrderMsg::getCommunicator ( ) const

Liefert einen Zeiger auf den referenzierten Kommunikator.

Rückgabe
s.o.
Siehe auch
m_sCommunicatorClientName

◆ getCommunicatorClientName()

std::string glo::OrderMsg::getCommunicatorClientName ( ) const

Liefert den Kommunikator Namen.

Rückgabe
s.o.
Siehe auch
m_uiCommunicatorID

◆ getCommunicatorID()

unsigned int glo::OrderMsg::getCommunicatorID ( ) const

Liefert den Kommunikator ID.

Rückgabe
s.o.
Siehe auch
m_pCommunicator

◆ getErr()

int glo::OrderMsg::getErr ( ) const

Liefert den Fehlercode.

Rückgabe
s.o.
Siehe auch
m_iErr

◆ getFirstAdditionalInfo()

void * glo::OrderMsg::getFirstAdditionalInfo ( ) const

Liefert einen rohen Zeiger auf eine evtl. vorhandene erste zusätzliche Informationen.

Rückgabe
s.o.
Achtung
Wenn geliefert, darf die aufrufende Instanz das Objekt nicht aus dem Speicher entfernen.
Siehe auch
m_pFirstAdditionalInfo

◆ getOrderMsgID()

unsigned int glo::OrderMsg::getOrderMsgID ( ) const

Liefert die eindeutige Auftragsnummer.

Rückgabe
s.o.
Siehe auch
m_uiID

◆ getOrderObject()

void * glo::OrderMsg::getOrderObject ( ) const

Liefert einen rohen Zeiger auf evtl.. vorhandene Auftragsdaten.

Rückgabe
s.o.
Achtung
Wenn geliefert, darf die aufrufende Instanz die Auftragsdaten nicht aus dem Speicher entfernen.
Siehe auch
m_pOrderObject

◆ getOrderResult()

void * glo::OrderMsg::getOrderResult ( ) const

Liefert einen rohen Zeiger auf evtl. vorhandene Ergebnisdaten.

Rückgabe
s.o.
Achtung
Wenn geliefert, darf die aufrufende Instanz die Ergebnisdaten nicht aus dem Speicher entfernen.
Siehe auch
m_pOrderResult

◆ getOrderType()

OrderMsg::EnOrderType glo::OrderMsg::getOrderType ( ) const

Liefert den Auftragstyp.

Rückgabe
s.o.
Siehe auch
m_eOrderType

◆ getOrderTypeAsStr()

std::string glo::OrderMsg::getOrderTypeAsStr ( ) const

Liefert den Auftragstyp als String.

Rückgabe
s.o.

◆ getOrderTypeAsString()

static std::string glo::OrderMsg::getOrderTypeAsString ( EnOrderType eOrderType)
static

Liefert den Auftragstyp als String.

Parameter
[in]eOrderTypeDer Auftragstyp.
Rückgabe
Der Auftragstyp als String.
Ausnahmebehandlung
eut::ErrorNExceptionBei einem Fehler wird eine Exception geworfen.

◆ getSchemaName()

std::string glo::OrderMsg::getSchemaName ( ) const

Liefert die Schemabezeichnung.

Rückgabe
s.o.
Siehe auch
m_sSchemaName

◆ getSecondAdditionalInfo()

void * glo::OrderMsg::getSecondAdditionalInfo ( ) const

Liefert einen rohen Zeiger auf eine evtl. vorhandene zweite zusätzliche Informationen.

Rückgabe
s.o.
Achtung
Wenn geliefert, darf die aufrufende Instanz das Objekt nicht aus dem Speicher entfernen.
Siehe auch
m_pFirstAdditionalInfo

◆ getSendDirection()

OrderMsg::EnSendDirection glo::OrderMsg::getSendDirection ( ) const

Liefert die Senderichtung.

Rückgabe
Die Senderichtung.
Siehe auch
m_eDirection

◆ getThreadID()

NUM_PTR glo::OrderMsg::getThreadID ( ) const

Liefert die ThreadID des Erstellers des Auftrags.

Rückgabe
s.o.
Siehe auch
m_ipThreadID

◆ isProcessed()

bool glo::OrderMsg::isProcessed ( )

Prüft, ob der Auftrag verarbeitet wurde.

Rückgabe
Wenn true, wurde der Auftrag verarbeitet.
Siehe auch
m_bProcessed

◆ operator=()

OrderMsg & glo::OrderMsg::operator= ( const OrderMsg & )
private

Der Zuweisungsoperator steht nicht zur Verfügung.

◆ ReleaseOrderResult()

void * glo::OrderMsg::ReleaseOrderResult ( )

Liefert einen rohen Zeiger auf die Ergebnisdaten, wenn gesetzt.

Rückgabe
Der rohe Zeiger auf die Ergebnisdaten.
Zu beachten
Nach dem Aufruf dieser Methode ist die Referenz auf die Ergebnisdaten auf nullptrgesetzt
Achtung
Wenn geliefert, geht die Verantwortung für die Ergebnisdaten an die aufrufende Instanz über. Die aufrufende Instanz muss die gelieferten Ergebnisdaten aus dem Speicher entfernen.
Siehe auch
m_pOrderResult

◆ setCommunicator()

void glo::OrderMsg::setCommunicator ( Communicator * pCommunicator)

Setzt den Kommunikator.

Parameter
[in]pCommunicatorDer Kommunikator.
Achtung
Der Kommunikator darf nicht zu Lebzeiten dieses Objektes aus dem Speicher entfernt werden.
Siehe auch
m_pCommunicator

◆ setDataFromStream()

int glo::OrderMsg::setDataFromStream ( const eut::Blob & rBlob,
std::size_t & rnCurrentBlobPosition,
std::size_t & rnBlobPosition,
void *& prData,
EnStreamDataType eStreamDataType,
const std::map< unsigned long, ClassInfo * > * pSchemaInfoMap )
protected

Hilfsmethode für OrderMsg::streamBlobInOrder (...); analysiert übergebenes Blob und setzt m_pOrderObject, m_pOrderResult oder m_pFirstAdditionalInfo.

Parameter
[in,out]rBlobDas auszuwertende Blob.
[in,out]rnCurrentBlobPositionDer aktuelle Zeiger im Blob.
[in,out]rnBlobPositionDer resultierende Zeiger im Blob.
[in,out]prDataRoher Zeiger auf m_pOrderObject, m_pOrderResult oder m_pFirstAdditionalInfo. Hier kommen die Daten rein.
[in]eStreamDataTypeDer Typ des zu ermittelnden Werts.
[in]pSchemaInfoMapEs müssen die Klasseninformationen übergeben werden, um ggf. Datensätze bauen zu können.
Rückgabe
Ein Rückgabewert < 0 zeigt einen Fehler an.
Ausnahmebehandlung
eut::ErrorNExceptionBei einem unbehebbaren Fehler wird eine Exception geworfen.

◆ setErr()

void glo::OrderMsg::setErr ( int iErr)

Setzt den Fehlercode.

Parameter
[in]iErrDer Fehlercode.
Siehe auch
m_iErr

◆ setFirstAdditionalInfo()

void glo::OrderMsg::setFirstAdditionalInfo ( void * pFirstAdditionalInfo)

Setzt die erste zusätzliche Informationen.

Parameter
[in]pFirstAdditionalInfoDie erste zusätzliche Information.
Achtung
Die zusätzliche Information geht in den Besitz von OrderMsg über. Das heißt, dass die übergebende Instanz die übergebene zusätzliche Information nicht aus dem Speicher entfernen darf. Eine ggf. vorher vorhandene zusätzliche Information wird aus dem Speicher entfernt.
Siehe auch
m_pFirstAdditionalInfo

◆ setOrderMsgID()

void glo::OrderMsg::setOrderMsgID ( unsigned int uiID)

Setzt die eindeutige Auftragsnummer.

Parameter
[in]uiIDDie eindeutige Auftragsnummer.
Siehe auch
m_uiID

◆ setOrderObject()

void glo::OrderMsg::setOrderObject ( void * pOrderObject)

Setzt die Auftragsdaten neu.

Parameter
[in]pOrderObjectRoher Zeiger auf die Auftragsdaten (Typen siehe m_pOrderObject).
Achtung
Die Auftragsdaten gehen in den Besitz von OrderMsg über. Das heißt, dass die übergebende Instanz die Auftragsdaten nicht aus dem Speicher entfernen darf. Ggf. vorher vorhandene Auftragsdaten werden aus dem Speicher entfernt.
Diese Methode darf nur einmalig aufgerufen werden; siehe Attribut m_bOrderObjectModified.
Siehe auch
m_pOrderObject

◆ setOrderResult()

void glo::OrderMsg::setOrderResult ( void * pOrderResult)

Setzt die Ergebnisdaten.

Parameter
[in]pOrderResultRoher Zeiger auf die Ergebnisdaten (Typen siehe m_pOrderResult).
Achtung
Die Ergebnisdaten gehen in den Besitz von OrderMsg über. Das heißt, dass die übergebende Instanz die Ergebnisdaten nicht aus dem Speicher entfernen darf. Ggf. vorher vorhandene Ergebnisdaten werden aus dem Speicher entfernt.
Siehe auch
m_pOrderResult

◆ setOrderType()

void glo::OrderMsg::setOrderType ( OrderMsg::EnOrderType eOrderType)

Setzt den Auftragstyp.

Parameter
[in]eOrderTypeDer Auftragstyp.
Siehe auch
m_eOrderType

◆ setSecondAdditionalInfo()

void glo::OrderMsg::setSecondAdditionalInfo ( void * pSecondAdditionalInfo)

Setzt die zweite zusätzliche Informationen.

Parameter
[in]pSecondAdditionalInfoDie zweite zusätzliche Information.
Achtung
Die zusätzliche Information geht in den Besitz von OrderMsg über. Das heißt, dass die übergebende Instanz die übergebene zusätzliche Information nicht aus dem Speicher entfernen darf. Eine ggf. vorher vorhandene zusätzliche Information wird aus dem Speicher entfernt.
Siehe auch
m_pSecondAdditionalInfo

◆ setSendDirection()

void glo::OrderMsg::setSendDirection ( EnSendDirection eSendDirection)

Setzt die Senderichtung.

Parameter
[in]eSendDirectionDie Senderichtung.
Siehe auch
m_eDirection

◆ setThreadID()

void glo::OrderMsg::setThreadID ( NUM_PTR ipThreadID)

Setzt die ThreadID des Erstellers des Auftrags.

Parameter
[in]ipThreadIDDie ThreadID.
Siehe auch
m_ipThreadID

◆ streamBlobInOrder()

int glo::OrderMsg::streamBlobInOrder ( const eut::Blob & rBlob,
EnStreamOrderDataType eStreamOrderDataType,
const std::map< unsigned long, ClassInfo * > * pSchemaInfoMap )

Setzt seine Daten aus übergebenen Blob.

Parameter
[in]rBlobDas Blob mit den Daten.
[in]eStreamOrderDataTypeAuftrag oder Ergebnis.
[in]pSchemaInfoMapEs müssen die Klasseninformationen übergeben werden, um Datensätze bauen zu können.
Rückgabe
Eine Rückgabe < 0 zeigt einen Fehler an.
Siehe auch
DataStreamer::streamBlobInData (...)

◆ streamOrderInBlob()

void glo::OrderMsg::streamOrderInBlob ( eut::Blob & rBlob,
EnStreamOrderDataType eStreamOrderDataType ) const

Füllt ein übergebenes Blob mit seinen Daten.

Parameter
[in,out]rBlobDas zu füllende Blob.
[in]eStreamOrderDataTypeAuftrag oder Ergebnis.
Ausnahmebehandlung
eut::ErrorNExceptionBei einem Fehler wird eine Exception geworfen.
Achtung
Das übergebene Blob wird nicht neu initialisiert, sondern die eigenen Daten werden zusätzlich angehängt.
Siehe auch
DataStreamer::streamDataInBlob (...)

◆ toString()

virtual std::string glo::OrderMsg::toString ( ) const
virtual

◆ willDestroyOrderObjectInDTor()

bool glo::OrderMsg::willDestroyOrderObjectInDTor ( ) const

Liefert m_bDestroyOrderObject.

Rückgabe
Wenn false, werden die Auftragsdaten im Destructor nicht zerstört.
Siehe auch
m_bDestroyOrderObject

Freunde und bezugnehmende Symbol-Dokumentation

◆ CommunicaterThread

friend class CommunicaterThread
friend

Dokumentation der Datenelemente

◆ m_bDestroyOrderObject

bool glo::OrderMsg::m_bDestroyOrderObject
private

I.d.R. wird das Objekt hinter m_pOrderObject im Destruktor aus dem Speicher entfernt. Dieses Attribut ist per default true. Wenn false, wird m_pOrderObject nicht im Destruktor aus dem Speicher entfernt.

Siehe auch
OrderMsg::setDestroyOrderObjectInDTor (...)

◆ m_bFirstAdditionalInfoModified

bool glo::OrderMsg::m_bFirstAdditionalInfoModified
private

Zusätzliche Informationen können während der Existenz eines Auftrags einmalig geändert werden. Damit OrderMsg::deleteFirstAdditionalInfo() weiß was es löschen soll, wird dieses Attribut automatisch in OrderMsg::setFirstAdditionalInfo (...) gesetzt.

◆ m_bOrderObjectModified

bool glo::OrderMsg::m_bOrderObjectModified
private

Ein Auftragsobjekt kann während der Existenz eines Auftrags einmalig geändert werden. Damit OrderMsg::deleteOrderObject() weiß was es löschen soll, wird dieses Attribut automatisch in OrderMsg::setOrderObject (...) gesetzt.

◆ m_bProcessed

bool glo::OrderMsg::m_bProcessed
private

Wird true, wenn der Auftrag verarbeitet ist.

◆ m_bSecondAdditionalInfoModified

bool glo::OrderMsg::m_bSecondAdditionalInfoModified
private

Zusätzliche Informationen können während der Existenz eines Auftrags einmalig geändert werden. Damit OrderMsg::deleteSecondAdditionalInfo() weiß was es löschen soll, wird dieses Attribut automatisch in OrderMsg::setSecondAdditionalInfo (...) gesetzt.

◆ m_eDirection

OrderMsg::EnSendDirection glo::OrderMsg::m_eDirection
private

Senderichtung.

◆ m_eOrderType

OrderMsg::EnOrderType glo::OrderMsg::m_eOrderType
private

Der Auftragstyp.

◆ m_iErr

int glo::OrderMsg::m_iErr
private

Ein Fehlercode; wird i.d.R. in der 'Antwort' gesetzt.

◆ m_ipThreadID

NUM_PTR glo::OrderMsg::m_ipThreadID
private

Die ThreadID des Erstellers des Auftrags.

◆ m_pCommunicator

Communicator* glo::OrderMsg::m_pCommunicator
private

Für den Rückruf, wenn Auftrag erledigt bzw. der Empfänger für eine Benachrichtigungen.

◆ m_pFirstAdditionalInfo

void* glo::OrderMsg::m_pFirstAdditionalInfo
private

Roher Zeiger auf erste zusätzliche Informationen.

Mögliche Typen:
int
LockSpecification
long
OpenSpecification
ReaderInfo
std::string
WatchSpecification
/sa m_pSecondAdditionalInfo

◆ m_pOrderObject

void* glo::OrderMsg::m_pOrderObject
private

Roher Zeiger auf die Auftragsdaten

Mögliche Typen:
AllSetStruct
ClassInfoAttribute::Type
ObjID
TransactionManager::CommunicatorTransactionStack
WatchNotifyManager::NotifyInfo
int
std::list< Manager::ObjIdWithDepends * >
std::list<ObjID>
std::list<ObjID>
std::map< ObjID, Record *, std::less<ObjID> >
std::string
unsigned long

Siehe auch
OrderMsg::EnOrderType

◆ m_pOrderResult

void* glo::OrderMsg::m_pOrderResult
private

Roher Zeiger auf die Ergebnisdaten.

Mögliche Typen:
bool ClassInfo LimitRecord NotifyNote ObjID Record std::list<Record*> std::map< unsigned long, ClassInfo *, std::less<unsigned long> > std::vector<ClientInfo> std::vector<LimitRecord> std::vector<std::string> unsigned long ClientInfo

Siehe auch
OrderMsg::EnOrderType

◆ m_pSecondAdditionalInfo

void* glo::OrderMsg::m_pSecondAdditionalInfo
private

Roher Zeiger auf zweite zusätzliche Informationen.

Siehe auch
m_pFirstAdditionalInfo

◆ m_sCommunicatorClientName

std::string glo::OrderMsg::m_sCommunicatorClientName
private

Jeder Kommunikator kann einen Namen haben. Weil der Kommunikator ggf. nicht mehr gültig sein kann, wird hier der Name nochmals festgehalten.

◆ m_sSchemaName

std::string glo::OrderMsg::m_sSchemaName
private

Die Schemabezeichnung bzw. der Datenbankname für den der Auftrag ist.

◆ m_strStatus

std::string glo::OrderMsg::m_strStatus

Hier kann für Debug-Zwecke etwas reingeschrieben werden.

◆ m_uiCommunicatorID

unsigned int glo::OrderMsg::m_uiCommunicatorID
private

Eine eindeutige ID des Kommunikator. Weil der Kommunikator ggf. nicht mehr gültig sein kann, wird hier die ID nochmals festgehalten.

◆ m_uiID

unsigned int glo::OrderMsg::m_uiID
private

Jeder Auftrag bekommt eine eindeutige Auftragsnummer. Ist notwendig um eine Antwort, welche die gleiche Auftragsnummer hat, einem Auftrag zuzuordnen.


Die Dokumentation für diese Klasse wurde erzeugt aufgrund der Datei: