GlobalObjects
|
Diese Klasse kodiert bzw. dekodiert Daten für den Transport in einem TCP-Paket. Mehr ...
#include <GloDataStreamer.h>
Öffentliche Typen | |
enum | ContainerType { eMAP , eLIST } |
Öffentliche Methoden | |
DataStreamer () | |
virtual | ~DataStreamer () |
int | streamBlobInData (ClassInfo *&rpClassInfo, const eut::Blob &rBlob) |
int | streamBlobInData (ClassInfoAttribute::Type *&rpClassInfoAttributeType, const eut::Blob &rBlob) |
int | streamBlobInData (LimitRecord *&prLimitRecord, const eut::Blob &rBlob) |
int | streamBlobInData (Record *&rpRecord, const eut::Blob &rBlob, const std::map< unsigned long, ClassInfo * > &prClassInfoMap, unsigned long ulClassID=0) |
int | streamBlobInData (std::list< Record * > *&rpRecordList, const eut::Blob &rBlob, const std::map< unsigned long, ClassInfo * > &prClassInfoMap) |
int | streamBlobInData (std::map< ObjID, Record *, std::less< ObjID > > *&rpRecordMap, const eut::Blob &rBlob, const std::map< unsigned long, ClassInfo * > &prClassInfoMap) |
int | streamBlobInData (std::map< unsigned long, ClassInfo *, std::less< unsigned long > > *&prClassInfoMap, const eut::Blob &rBlob) |
int | streamBlobInData (std::vector< LimitRecord > *&prLimitRecordVector, const eut::Blob &rBlob) |
int | streamDataInBlob (eut::Blob &rBlob, const ClassInfo &rClassInfo) |
int | streamDataInBlob (eut::Blob &rBlob, const ClassInfoAttribute::Type &rClassInfoAttributeType) |
int | streamDataInBlob (eut::Blob &rBlob, const LimitRecord &rLimitRecord) |
int | streamDataInBlob (eut::Blob &rBlob, const Record &rRecord, std::map< ObjID, ObjID, std::less< ObjID > > &rReadyRecordMap) |
int | streamDataInBlob (eut::Blob &rBlob, const std::list< Record * > &rRecordList, std::map< ObjID, ObjID, std::less< ObjID > > &rReadyRecordMap) |
int | streamDataInBlob (eut::Blob &rBlob, const std::map< ObjID, Record *, std::less< ObjID > > &rRecordMap, std::map< ObjID, ObjID, std::less< ObjID > > &rReadyRecordMap) |
int | streamDataInBlob (eut::Blob &rBlob, const std::map< unsigned long, ClassInfo *, std::less< unsigned long > > &rClassInfoMap) |
int | streamDataInBlob (eut::Blob &rBlob, const std::vector< LimitRecord > &rLimitRecordVector) |
Private Methoden | |
DataStreamer (const DataStreamer &) | |
int | getTagVariable (std::size_t &rnRetVal, const eut::Blob &rBlob, const std::string &rsTagVar) |
int | getTagVariable (std::string &rsRetVal, const eut::Blob &rBlob, const std::string &rsTagVar) |
DataStreamer & | operator= (const DataStreamer &) |
int | streamBlobAttributeInRecordAttribute (BaseRecordAttribute &rBaseRecordAttribute, const eut::Blob &rBlob, const std::string &rsFileInfo, unsigned int uiAttributeInformation, const std::map< unsigned long, ClassInfo * > &prClassInfoMap, std::map< ObjID, Record *, std::less< ObjID > > &rReadyRecordMap, unsigned long ulClassID=0) |
int | streamBlobAttributeListInClassInfo (ClassInfo &rClassInfo, const eut::Blob &rBlob) |
int | streamBlobAttributeListInRecord (Record &rRecord, const eut::Blob &rBlob, const std::map< unsigned long, ClassInfo * > &prClassInfoMap, std::map< ObjID, Record *, std::less< ObjID > > &rReadyRecordMap, unsigned long ulClassID=0) |
int | streamBlobInClassInfo (ClassInfo *&rpClassInfo, const eut::Blob &rBlob) |
int | streamBlobIndexItemsInClassInfoIndex (ClassInfoIndex &rClassInfoIndex, const eut::Blob &rBlob) |
int | streamBlobIndexListInClassInfo (ClassInfo &rClassInfo, const eut::Blob &rBlob) |
int | streamBlobInRecord (Record *&rpRecord, const eut::Blob &rBlob, const std::map< unsigned long, ClassInfo * > &prClassInfoMap, std::map< ObjID, Record *, std::less< ObjID > > &rReadyRecordMap, unsigned long ulClassID=0) |
int | streamBlobInRecordContainer (std::map< ObjID, Record *, std::less< ObjID > > *&rpRecordMap, std::list< Record * > *&rpRecordList, ContainerType eContainerType, const eut::Blob &rBlob, const std::map< unsigned long, ClassInfo * > &prClassInfoMap) |
int | streamBlobLimitRecordInLimitRecordAttribute (LimitRecord &rLimitRecord, const eut::Blob &rBlob) |
std::size_t | streamDataClassInfoAttributeInBlob (eut::Blob &rBlob, const ClassInfoAttribute &rAttribute) |
std::size_t | streamDataClassInfoInBlob (eut::Blob &rBlob, const ClassInfo &rClassInfo) |
std::size_t | streamDataClassInfoIndexAttributeInBlob (eut::Blob &rBlob, const ClassInfoIndex::IndexAttributeItem &rIndexAttributeInfo) |
std::size_t | streamDataClassInfoIndexInBlob (eut::Blob &rBlob, const ClassInfoIndex &rIndex) |
std::size_t | streamDataLimitRecordInBlob (eut::Blob &rBlob, const LimitRecord &rLimitRecord) |
template<typename T > | |
int | streamDataLotAttributeInBlob (eut::Blob &rAttributeValueBlob, T &rSet) |
std::size_t | streamDataRecordAttributeInBlob (eut::Blob &rBlob, BaseRecordAttribute &rAttribute, std::map< ObjID, ObjID, std::less< ObjID > > &rReadyRecordMap) |
std::size_t | streamDataRecordInBlob (eut::Blob &rBlob, const Record &rRecord, std::map< ObjID, ObjID, std::less< ObjID > > &rReadyRecordMap) |
Private Attribute | |
eut::CriticalSection | m_LocalCriticalSection |
Diese Klasse kodiert bzw. dekodiert Daten für den Transport in einem TCP-Paket.
Diese Klasse wurde 2013 eingeführt, weil die bislang vorgenommene Kodierung keine Kontrolle des Paketes zuließ (konnte z.B. nicht ausgedruckt werden). Es wird für die meisten Packete das XML-Format genutzt.
glo::DataStreamer::DataStreamer | ( | ) |
Standard-Konstruktor.
|
virtual |
Destruktor.
|
private |
Der Copy-Konstruktor steht nicht zur Verfügung.
|
private |
Liefert aus überlieferten Blob den Wert von übergebener TagVariablen ab aktueller Position als std::size_t. Es wird die ursprüngliche aktuelle Position im übergebenen Blob wieder auf den ursprünglichen Wert gesetzt; also im Endefekt nicht verändert.
Wenn Blob =
und die aktuellePosition == 1 und TagVariable == 'p', dann ist die Rückgabe == 34.
[in,out] | rnRetVal | Der Wert aus der TagVariablen. |
[in] | rBlob | Das auszuwertende Blob als XML. |
[in] | rsTagVar | Die TagVariablen. |
|
private |
Liefert aus übergebenen Blob den Wert von übergebener TagVariablen ab aktueller Position als String. Es wird die ursprüngliche aktuelle Position im übergebenen Blob wieder auf den ursprünglichen Wert gesetzt; also im Endefekt nicht verändert.
Wenn Blobinhalt...
...und die aktuelle Position == 1 und TagVariable == 'n', dann ist die Rückgabe == "OOMyClass.m_IsIt".
Wenn Blobinhalt...
...und die aktuelle Position == 10 und TagVariable == 'n', dann ist die Rückgabe == "Fest".
[in,out] | rsRetVal | Der Wert aus der TagVariablen. |
[in] | rBlob | Das auszuwertende Blob als XML. |
[in] | rsTagVar | Die TagVariablen. |
|
private |
Der Zuweisungsoperator steht nicht zur Verfügung.
|
private |
Befüllt ein BaseRecordAttribute aus übergebenen eut::Blob.
Aufbau des Blobs siehe hier...
[in,out] | rBaseRecordAttribute | Das Datensatzattribut, in das die Daten aus dem übergebenen Blob übernommen werden |
[in] | rBlob | Das Blob mit den Werten des Datensatzattributs als XML. |
[in] | rsFileInfo | Ggf. eine Dateibezeichnung, damit evtl. zusätzliche Daten ermittelt werden können. |
[in] | uiAttributeInformation | Wird nur ausgewertet, wenn nicht 0 und das Attribut vom Typ APointerRecordAttribute ist:
|
[in] | prClassInfoMap | Die Klasseninformationen aus denen der Aufbau der Datensätze hervorgeht. |
[in] | rReadyRecordMap | Die schon gestreamten Datensätze. |
[in] | ulClassID | Wenn > 0, dann wird der Record nur mit den Daten aus der Tabelle dieser Klasse gefüllt. Referenzierte Objekte werden nicht erwartet. |
|
private |
Füllt die ClassInfoAttribute in einem übergebenen ClassInfo aus übergebenen eut::Blob.
Aufbau des Blobs siehe hier...
[in,out] | rClassInfo | Die Klasseninformation, in das die Daten aus dem übergebenen Blob übernommen werden. |
[in] | rBlob | Das Blob mit den Werten des ClassInfoAttribute als XML. |
|
private |
Befüllt einen Record aus übergebenen eut::Blob.
Beispielaufbau des AttributBlobs:
[in,out] | rRecord | Der übergebene Datensatz, in den die Attribute aus dem übergebenen Blob übernommen werden. |
[in] | rBlob | Das Blob mit den Werten des Datensatzes als XML. |
[in] | prClassInfoMap | Die Klasseninformationen aus denen der Aufbau der Datensätze hervorgeht. |
[in] | ulClassID | Wenn > 0, dann wird der Record nur mit den Daten aus der Tabelle dieser Klasse gefüllt. Referenzierte Objekte werden nicht erwartet. |
[in] | rReadyRecordMap | Die schon gestreamten Datensätze. |
|
private |
Liefert bzw. befüllt eine ClassInfo aus übergebenen eut::Blob.
Aufbau des Blobs siehe hier...
[in,out] | rpClassInfo | Die Klasseninformation, in die die Werte aus dem Blob übertragen werden. Wenn nullptr übergeben, wird eine neue Klasseninformation instanziiert; die aufrufende Instanz muss dann das Objekt wieder aus dem Speicher entfernen. Wenn eine gültige Klasseninformation übergeben wird, werden deren Werte aus dem Blob gesetzt. |
[in] | rBlob | Das Blob mit den Werten der Klasseninformation als XML. |
Liefert bzw. befüllt eine ClassInfo aus übergebenen eut::Blob.
Aufbau des Blobs siehe hier...
[in,out] | rpClassInfo | Die Klasseninformation, in die die Werte aus dem Blob übertragen werden. Wenn nullptr übergeben, wird eine neue Klasseninformation instanziiert; die aufrufende Instanz muss dann das Objekt wieder aus dem Speicher entfernen. Wenn eine gültige Klasseninformation übergeben wird, werden deren Werte aus dem Blob gesetzt. |
[in] | rBlob | Das Blob mit den Werten der Klasseninformation als XML. |
int glo::DataStreamer::streamBlobInData | ( | ClassInfoAttribute::Type *& | rpClassInfoAttributeType, |
const eut::Blob & | rBlob ) |
Liefert bzw. befüllt einen ClassInfoAttribute::Type aus übergebenen eut::Blob.
Aufbau des Blobs siehe hier...
[in,out] | rpClassInfoAttributeType | Der ClassInfoAttribute::Type, in den die Werte aus dem Blob übertragen werden. Wenn nullptr übergeben, wird ein neuer ClassInfoAttribute::Type instanziiert; die aufrufende Instanz muss dann das Objekt wieder aus dem Speicher entfernen. Wenn ein gültiger ClassInfoAttribute::Type übergeben wird, werden dessen Werte aus dem Blob gesetzt. |
[in] | rBlob | Das Blob mit den Werten des ClassInfoAttribute::Type als XML. |
int glo::DataStreamer::streamBlobInData | ( | LimitRecord *& | prLimitRecord, |
const eut::Blob & | rBlob ) |
Liefert bzw. befüllt einen LimitRecord aus übergebenen eut::Blob.
Aufbau des Blobs siehe hier...
[in,out] | prLimitRecord | Der LimitRecord, in die die Werte aus dem Blob übertragen werden. Wenn nullptr übergeben, wird ein neuer LimitRecord instanziiert; die aufrufende Instanz muss dann das Objekt wieder aus dem Speicher entfernen. Wenn ein gültiger LimitRecord übergeben wird, werden dessen Werte aus dem Blob gesetzt. |
[in] | rBlob | Das Blob mit den Werten des LimitRecord als XML. |
int glo::DataStreamer::streamBlobInData | ( | Record *& | rpRecord, |
const eut::Blob & | rBlob, | ||
const std::map< unsigned long, ClassInfo * > & | prClassInfoMap, | ||
unsigned long | ulClassID = 0 ) |
Liefert bzw. befüllt einen Record aus übergebenen eut::Blob.
Aufbau des Blobs siehe hier...
[in,out] | rpRecord | Der Datensatz, in den die Werte aus dem Blob übertragen werden. Wenn nullptr übergeben, wird ein neuer Datensatz instanziiert; die aufrufende Instanz muss dann das Objekt wieder aus dem Speicher entfernen. Wenn ein gültiger Datensatz übergeben wird, werden dessen Attribute aus dem Blob gesetzt. |
[in] | rBlob | Das Blob mit den Werten des Record als XML. |
[in] | prClassInfoMap | Die Klasseninformationen aus denen der Aufbau der Datensätze hervorgeht. |
[in] | ulClassID | Wenn > 0, dann wird der Record nur mit den Daten aus der Tabelle dieser Klasse gefüllt. |
int glo::DataStreamer::streamBlobInData | ( | std::list< Record * > *& | rpRecordList, |
const eut::Blob & | rBlob, | ||
const std::map< unsigned long, ClassInfo * > & | prClassInfoMap ) |
Liefert bzw. befüllt eine std::list von Record's aus übergebenen eut::Blob.
Aufbau des Blobs siehe hier...
[in,out] | rpRecordList | Der Container,in den die Werte aus dem Blob übertragen werden. Wenn nullptr übergeben, wird ein neuer Container instanziiert; die aufrufende Instanz muss das Objekt wieder aus dem Speicher entfernen. Wenn ein gültiger Container übergeben wird, werden die Inhalte (wenn nicht schon drinn) aus dem Blob eingefügt, ohne den ursprünglichen Inhalt des Containers zu ändern. |
[in] | rBlob | Das Blob mit den Werten der GloRecords als XML. |
[in] | prClassInfoMap | Die Klasseninformationen aus denen der Aufbau der Datensätze hervorgeht. |
int glo::DataStreamer::streamBlobInData | ( | std::map< ObjID, Record *, std::less< ObjID > > *& | rpRecordMap, |
const eut::Blob & | rBlob, | ||
const std::map< unsigned long, ClassInfo * > & | prClassInfoMap ) |
Liefert bzw. befüllt eine std::map von Record's aus übergebenen eut::Blob.
Aufbau des Blobs siehe hier...
[in,out] | rpRecordMap | Der Container, in den die Werte aus dem Blob übertragen werden. Wenn nullptr übergeben, wird ein neuer Container instanziiert; die aufrufende Instanz muss das Objekt wieder aus dem Speicher entfernen. Wenn ein gültiger Container übergeben wird, werden die Inhalte (wenn nicht schon drinn) aus dem Blob eingefügt, ohne den ursprünglichen Inhalt des Containers zu ändern. |
[in] | rBlob | Das Blob mit den Werten der GloRecords als XML. |
[in] | prClassInfoMap | Die Klasseninformationen aus denen der Aufbau der Datensätze hervorgeht. |
int glo::DataStreamer::streamBlobInData | ( | std::map< unsigned long, ClassInfo *, std::less< unsigned long > > *& | prClassInfoMap, |
const eut::Blob & | rBlob ) |
Liefert bzw. befüllt eine std::map mit ClassInfo's aus übergebenen eut::Blob.
Aufbau des Blobs siehe hier...
[in,out] | prClassInfoMap | Der Container, in den die Werte aus dem Blob übertragen werden. Wenn nullptr übergeben, wird ein neuer Container instanziiert; die aufrufende Instanz muss das Objekt wieder aus dem Speicher entfernen. Wenn ein gültiger Container übergeben wird, werden die Inhalte (wenn nicht schon drinn) aus dem Blob eingefügt, ohne den ursprünglichen Inhalt des Containers zu ändern. |
[in] | rBlob | Das Blob mit den Werten der Klasseninformationen als XML. |
int glo::DataStreamer::streamBlobInData | ( | std::vector< LimitRecord > *& | prLimitRecordVector, |
const eut::Blob & | rBlob ) |
Liefert bzw. befüllt einen std::vector mit LimitRecord's aus übergebenen eut::Blob.
Aufbau des Blobs siehe hier...
[in,out] | prLimitRecordVector | Der Container, in den die Werte aus dem Blob übertragen werden. Wenn nullptr übergeben, wird ein neuer Container instanziiert; die aufrufende Instanz muss das Objekt wieder aus dem Speicher entfernen. Wenn ein gültiger Container übergeben wird, werden die Inhalte (wenn nicht schon drinn) aus dem Blob eingefügt, ohne den ursprünglichen Inhalt des Containers zu ändern. |
[in] | rBlob | Das Blob mit den Werten der LimitRecord's als XML. |
|
private |
Füllt die ClassInfoIndex::IndexAttributeItems in einem übergebenen ClassInfoIndex aus übergebenen eut::Blob.
Aufbau des Blobs siehe hier...
[in,out] | rClassInfoIndex | Der ClassInfoIndex, in welchen die Daten aus dem übergebenen Blob übernommen werden. |
[in] | rBlob | Das Blob mit den Werten des ClassInfoIndex::IndexAttributeItem als XML. |
|
private |
Füllt GloClassInfoIndexe in einem übergebenen ClassInfo aus übergebenen eut::Blob.
Aufbau des Blobs siehe hier...
[in,out] | rClassInfo | Die Klasseninformation, in welche die Daten aus dem übergebenen Blob übernommen werden. |
[in] | rBlob | Das Blob mit den Werten des ClassInfoIndex als XML. |
|
private |
Liefert bzw. befüllt einen Record aus übergebenen eut::Blob.
Aufbau des Blobs siehe hier...
[in,out] | rpRecord | Der Datensatz, in die die Werte aus dem Blob übertragen werden. Wenn nullptr übergeben, wird ein neuer Datensatz instanziiert; die aufrufende Instanz muss dann das Objekt wieder aus dem Speicher entfernen. Wenn ein gültiger Datensatz übergeben wird, werden dessen Attribute aus Blob gesetzt. |
[in] | rBlob | Das Blob mit den Werten des Datensatzes als XML. |
[in] | prClassInfoMap | Die Klasseninformationen aus denen der Aufbau der Datensätze hervorgeht. |
[in] | rReadyRecordMap | Die schon gestreamten Datensätze; wenn der zu streamende Datensatz schon in diese Container, dann wird rpRecord aus diesem geliefert mit Fehler ERR_RECORD_READY. |
[in] | ulClassID | Wenn > 0, dann wird der Record nur mit den Daten aus der Tabelle dieser Klasse gefüllt. |
|
private |
Liefert bzw. befüllt eine std::map bzw. std::list von Record's aus übergebenen eut::Blob in Abhängigkeit von übergebenen ContainerType.
Aufbau des Blobs siehe hier...
[in,out] | rpRecordMap | Der Container, in den die Werte aus dem Blob übertragen werden. Wenn nullptr übergeben, wird ein neuer Container instanziiert; die aufrufende Instanz muss das Objekt wieder aus dem Speicher entfernen. Wenn ein gültiger Container übergeben wird, werden die Inhalte (wenn nicht schon drinn) aus dem Blob eingefügt, ohne den ursprünglichen Inhalt des Containers zu ändern. |
[in,out] | rpRecordList | Siehe Beschreibung von rpRecordMap. |
[in] | rBlob | Das Blob mit den Werten des Datensatzes als XML. |
[in] | eContainerType | Legt fest, ob rpRecordMap oder rpRecordList als Parameter beachtet wird. |
[in] | prClassInfoMap | Die Klasseninformationen aus denen der Aufbau der Datensätze hervorgeht. |
|
private |
Füllt einen LimitRecord aus übergebenen eut::Blob.
Beispielaufbau (hier mit Kommentar):
[in,out] | rLimitRecord | Der LimitRecord, in welchen die Daten aus dem übergebenen Blob übernommen werden. |
[in] | rBlob | Das Blob mit den Werten des LimitRecord als XML. |
|
private |
Streamt die Werte der übergebenen GloClassInfoAttributes als XML-String in einen übergeben eut::Blob (ohne Header etc.).
Beispielaufbau (hier mit Zeilenumbruch, Einrückungen und Kommentaren):
[in,out] | rBlob | Das Blob, an welches der XML-String angehängt wird. |
[in] | rAttribute | Das Klasseninformations-Attribut, dessen Werte als XML-String an das übergebene eut::Blob angehängt werden sollen. |
eut::ErrorNException | Bei einem nicht behebbaren Fehler wird eine Exception geworfen. |
|
private |
Streamt die Werte der übergebenen ClassInfo als XML-String in einen übergeben eut::Blob (ohne Header etc.).
Beispielaufbau (hier mit Zeilenumbruch, Einrückungen und Kommentaren):
[in,out] | rBlob | Das Blob, an welches der XML-String angehängt wird. |
[in] | rClassInfo | Die ClassInfo, deren Werte als XML-String an das übergebene eut::Blob angehängt werden sollen. |
eut::ErrorNException | Bei einem nicht behebbaren Fehler wird eine Exception geworfen. |
|
private |
Streamt die Werte der übergebenen ClassInfoIndex::IndexAttributeItem als XML-String in einen übergeben eut::Blob (ohne Header etc.).
Beispielaufbau (hier mit Zeilenumbruch, Einrückungen und Kommentaren):
[in,out] | rBlob | Das Blob, an welches der XML-String angehängt wird. |
[in] | rIndexAttributeInfo | Das Klasseninformations-Indexelement, dessen Werte als XML-String an das übergebene eut::Blob angehängt werden sollen. |
eut::ErrorNException | Bei einem nicht behebbaren Fehler wird eine Exception geworfen. |
|
private |
Streamt die Werte der übergebenen ClassInfoIndex als XML-String in einen übergeben eut::Blob (ohne Header etc.).
Beispielaufbau (hier mit Zeilenumbruch, Einrückungen und Kommentaren):
[in,out] | rBlob | Das Blob, an welches der XML-String angehängt wird. |
[in] | rIndex | Der Klasseninformations-Index, dessen Werte als XML-String an das übergebene eut::Blob angehängt werden sollen. |
eut::ErrorNException | Bei einem nicht behebbaren Fehler wird eine Exception geworfen. |
Streamt die Werte der übergebenen ClassInfo als XML-String in einen übergeben eut::Blob wie er versendet wird.
Beispielaufbau (hier mit Zeilenumbruch, Einrückungen und Kommentaren):
[in,out] | rBlob | Das Blob, an welches der XML-String angehängt wird. |
[in] | rClassInfo | Die ClassInfo, deren Werte als XML-String an das übergebene eut::Blob angehängt werden sollen. |
eut::ErrorNException | Bei einem nicht behebbaren Fehler wird eine Exception geworfen. |
int glo::DataStreamer::streamDataInBlob | ( | eut::Blob & | rBlob, |
const ClassInfoAttribute::Type & | rClassInfoAttributeType ) |
Streamt die Werte des übergebenen ClassInfoAttribute::Type als XML-String in einen übergeben eut::Blob wie er versendet wird.
Beispielaufbau (hier mit Zeilenumbruch, Einrückungen und Kommentaren):
[in,out] | rBlob | Das Blob, an welches der XML-String angehängt wird. |
[in] | rClassInfoAttributeType | Der ClassInfoAttribute::Type, dessen Werte als XML-String an das übergebene eut::Blob angehängt werden sollen. |
eut::ErrorNException | Bei einem nicht behebbaren Fehler wird eine Exception geworfen. |
int glo::DataStreamer::streamDataInBlob | ( | eut::Blob & | rBlob, |
const LimitRecord & | rLimitRecord ) |
Streamt die Werte des übergebenen LimitRecord als XML-String in einen übergeben eut::Blob wie er versendet wird.
Beispielaufbau (hier mit Zeilenumbruch, Einrückungen und Kommentaren):
[in,out] | rBlob | Das Blob, an welches der XML-String angehängt wird. |
[in] | rLimitRecord | Der LimitRecord, dessen Werte als XML-String an das übergebene eut::Blob angehängt werden sollen. |
eut::ErrorNException | Bei einem nicht behebbaren Fehler wird eine Exception geworfen. |
int glo::DataStreamer::streamDataInBlob | ( | eut::Blob & | rBlob, |
const Record & | rRecord, | ||
std::map< ObjID, ObjID, std::less< ObjID > > & | rReadyRecordMap ) |
Streamt die Datensatzattribut-Werte des übergebenen Record als XML-String in einen übergeben eut::Blob wie er versendet wird.
Beispielaufbau (hier mit Zeilenumbruch, Einrückungen und Kommentaren):
[in,out] | rBlob | Das Blob, an welches der XML-String angehängt wird. |
[in] | rRecord | Der Datensatz, dessen Attribute als XML-String an das übergebene eut::Blob angehängt werden sollen. |
[in] | rReadyRecordMap | Die schon gestreamten Datensätze müssen übergeben werden, damit diese nicht nochmals vollständig, sondern nur als Objekt-ID gestreamt werden. |
eut::ErrorNException | Bei einem nicht behebbaren Fehler wird eine Exception geworfen. |
int glo::DataStreamer::streamDataInBlob | ( | eut::Blob & | rBlob, |
const std::list< Record * > & | rRecordList, | ||
std::map< ObjID, ObjID, std::less< ObjID > > & | rReadyRecordMap ) |
Streamt die Datensatzattribut-Werte der übergebenen Record's in einer std::list als XML-String in einen übergeben eut::Blob wie er versendet wird.
Beispielaufbau (hier mit Zeilenumbruch, Einrückungen und Kommentaren):
[in,out] | rBlob | Das Blob, an welches der XML-String angehängt wird. |
[in] | rRecordList | Die Datensätzen, deren Datensatzattribut-Werte als XML-String an das übergebene eut::Blob angehängt werden sollen. |
[in] | rReadyRecordMap | Die schon gestreamten Datensätze müssen übergeben werden, damit diese nicht nochmals vollständig, sondern nur als Objekt-ID gestreamt werden. |
eut::ErrorNException | Bei einem nicht behebbaren Fehler wird eine Exception geworfen. |
int glo::DataStreamer::streamDataInBlob | ( | eut::Blob & | rBlob, |
const std::map< ObjID, Record *, std::less< ObjID > > & | rRecordMap, | ||
std::map< ObjID, ObjID, std::less< ObjID > > & | rReadyRecordMap ) |
Streamt die Datensatzattribut-Werte der übergebenen Record's in einer std::map als XML-String in einen übergeben eut::Blob wie er versendet wird.
Beispielaufbau (hier mit Zeilenumbruch, Einrückungen und Kommentaren):
[in,out] | rBlob | Das Blob, an welches der XML-String angehängt wird. |
[in] | rRecordMap | Die Datensätzen, deren Datensatzattribut-Werte als XML-String an das übergebene eut::Blob angehängt werden sollen. |
[in] | rReadyRecordMap | Die schon gestreamten Datensätze müssen übergeben werden, damit diese nicht nochmals vollständig, sondern nur als Objekt-ID gestreamt werden. |
eut::ErrorNException | Bei einem nicht behebbaren Fehler wird eine Exception geworfen. |
int glo::DataStreamer::streamDataInBlob | ( | eut::Blob & | rBlob, |
const std::map< unsigned long, ClassInfo *, std::less< unsigned long > > & | rClassInfoMap ) |
Streamt die Werte der übergebenen GloClassInfos in einer std::map als XML-String in einen übergeben eut::Blob wie er versendet wird.
Beispielaufbau (hier mit Zeilenumbruch, Einrückungen und Kommentaren):
[in,out] | rBlob | Das Blob, an welches der XML-String angehängt wird. |
[in] | rClassInfoMap | Die ClassInfo's, deren Werte als XML-String an das übergebene eut::Blob angehängt werden sollen. |
eut::ErrorNException | Bei einem nicht behebbaren Fehler wird eine Exception geworfen. |
int glo::DataStreamer::streamDataInBlob | ( | eut::Blob & | rBlob, |
const std::vector< LimitRecord > & | rLimitRecordVector ) |
Streamt die Werte der übergebenen LimitRecord's in einem std::vector als XML-String in einen übergeben eut::Blob wie er versendet wird.
Beispielaufbau (hier mit Zeilenumbruch, Einrückungen und Kommentaren):
[in,out] | rBlob | Das Blob, an welches der XML-String angehängt wird. |
[in] | rLimitRecordVector | Die LimitRecord's, deren Werte als XML-String an das übergebene eut::Blob angehängt werden sollen. |
eut::ErrorNException | Bei einem nicht behebbaren Fehler wird eine Exception geworfen. |
|
private |
Streamt die Werte des übergebenen LimitRecord als XML-String in einen übergeben eut::Blob (ohne Header etc.).
Beispielaufbau (hier mit Zeilenumbruch, Einrückungen und Kommentaren):
[in,out] | rBlob | Das Blob, an welches der XML-String angehängt wird. |
[in] | rLimitRecord | Der LimitRecord, dessen Werte als XML-String an das übergebene eut::Blob angehängt werden sollen. |
eut::ErrorNException | Bei einem nicht behebbaren Fehler wird eine Exception geworfen. |
|
private |
Es werden die einzelnen Werte aus einem Container als XML-String an ein eut::Blob angehängt.
Beispiel: Der Container hat die beiden Werte "123456789012345" und "LaberRhababer". Der XML-String wäre dann...
[in,out] | rAttributeValueBlob | Das Blob, an welches der XML-String angehängt wird. |
[in] | rSet | Der Container mit den einzelnen Werten. |
|
private |
Streamt die Werte des übergebenen GloBaseRecordAttributs als XML-String in einen übergeben eut::Blob (ohne Header etc.).
Beispielaufbau (hier mit Zeilenumbruch, Einrückungen und Kommentaren) für die einzelnen Attributtypen:
Nach dem "atr"-Tag folgende Variablen haben folgende Bedeutung:
</atr>'
[in,out] | rBlob | Das Blob, an welches der XML-String angehängt wird. |
[in] | rAttribute | Das Datensatzattribut, dessen Werte als XML-String an das übergebene eut::Blob angehängt werden sollen. |
[in] | rReadyRecordMap | Die schon gestreamten Datensätze müssen übergeben werden, damit diese nicht nochmals vollständig, sondern nur als Objekt-ID gestreamt werden. Können als referenzierte Datensätze im Datensatzattribut sein. |
eut::ErrorNException | Bei einem nicht behebbaren Fehler wird eine Exception geworfen. |
|
private |
Streamt die Datensatzattribut-Werte des übergebenen Record als XML-String in einen übergeben eut::Blob (ohne Header etc.).
Beispielaufbau (hier mit Zeilenumbruch, Einrückungen und Kommentaren):
[in,out] | rBlob | Das Blob, an welches der XML-String angehängt wird. |
[in] | rRecord | Der Datensatz, dessen Datensatzattribut-Werte als XML-String an das übergebene eut::Blob angehängt werden sollen. |
[in] | rReadyRecordMap | Die schon gestreamten Datensätze müssen übergeben werden, damit diese nicht nochmals vollständig, sondern nur als Objekt-ID gestreamt werden. |
eut::ErrorNException | Bei einem nicht behebbaren Fehler wird eine Exception geworfen. |
|
private |
Um einen Thread-sicheren Zugriff auf die Elemente des DataStreamer zu gewährleisten, wird über diese lokale CriticalSection der Zugriff synchronisiert.