GlobalObjects
Lade ...
Suche ...
Keine Treffer
tcp::Message Klassenreferenz

Beinhaltet einen Datenstrom, welcher von den Tcp-Klassen versendet und empfangen werden kann. Mehr ...

#include <TcpMessage.h>

Klassendiagramm für tcp::Message:

Öffentliche Methoden

 Message (char *pszRawMsg, std::size_t nRawMsgSize, unsigned int uiMessageID, int iActionCode, const std::string &rstrInfo)
 
 Message (char *pszTransmitData, std::size_t nTransmitDataSize)
 
virtual ~Message ()
 
int getActionCode () const
 
std::string getInfo () const
 
unsigned int getMsgID () const
 
std::size_t getRawMsg (char *&prszRawMsg, bool bCopy=true)
 
char * getRawMsgPt ()
 
std::size_t getRawMsgSize () const
 
std::size_t getTransmitData (char *&prszSendMsg, bool bCopy=true)
 
char * getTransmitDataPt ()
 
std::size_t getTransmitDataSize () const
 
- Öffentliche Methoden geerbt von tcp::AbstractMessage
virtual ~AbstractMessage ()
 

Geschützte Methoden

 Message ()
 
- Geschützte Methoden geerbt von tcp::AbstractMessage
 AbstractMessage ()
 

Private Methoden

 Message (const Message &)
 
int initDataFromSendMsg ()
 
int initSendMsgFromData ()
 
Messageoperator= (const Message &)
 

Private Attribute

int m_iActionCode
 
std::size_t m_nRawMessageSize
 
std::size_t m_nTransmitDataSize
 
char * m_pszRawMessage
 
char * m_pszTransmitData
 
std::string m_strInfo
 
unsigned int m_uiMessageID
 

Ausführliche Beschreibung

Beinhaltet einen Datenstrom, welcher von den Tcp-Klassen versendet und empfangen werden kann.

Den Nachrichtendaten ist ein Header vorangestellt bestehend aus:

  • einem Kürzel "hja-tcp" (0-terminiert); eine einfache, nicht sichere Möglichkeit, um fremde Nachrichten zu filtern.
  • die Größe der gesamten Nachricht, also Header plus Nachrichtendaten (10 Stellen, 0-terminiert), siehe m_nTransmitDataSize
  • eine Nachrichts-ID (0-terminiert), siehe m_uiMessageID
  • ein ActionCode (0-terminiert), siehe m_iActionCode
  • eine Info (0-terminiert), siehe m_strInfo
Autor
Helmut Jakoby

Beschreibung der Konstruktoren und Destruktoren

◆ Message() [1/4]

tcp::Message::Message ( )
protected

Dieser Konstruktor steht niccht zur Verfügung.

◆ Message() [2/4]

tcp::Message::Message ( char * pszTransmitData,
std::size_t nTransmitDataSize )

Ein Konstruktor der einen Datenpuffer und dessen Größe erwartet.

Parameter
[in]pszTransmitDataDer zu sendende Datenpuffer inkl. aller benötigten Informationen:
  • das Kürzel "hja-tcp" (0-terminiert) eine einfache nicht sichere Möglichkeit, um fremde Nachrichten zu filtern.
  • die Größe der gesamten Nachricht, also Header plus Nachrichtendaten (0-terminiert)
  • eine Nachrichts-ID (0-terminiert)
  • ein ActionCode (0-terminiert)
  • eine Info (0-terminiert)
  • die Nachrichtendaten der Message
[in]nTransmitDataSizeDie Größe bzw. Länge des zu sendenden Datenpuffers.
Achtung
Dieses Objekt übernimmt das entfernen der pszTransmitData aus dem Speicher.
Ausnahmebehandlung
eut::ErrorNExceptionWenn aus den Daten die Attribute nicht gesetzt werden können (weil z.B. der Header nicht stimmt), wird eine Exception geworfen.

◆ Message() [3/4]

tcp::Message::Message ( char * pszRawMsg,
std::size_t nRawMsgSize,
unsigned int uiMessageID,
int iActionCode,
const std::string & rstrInfo )

Ein Konstruktor, der aus übergebenen Daten, eine zu sendende Message bauen kann.

Parameter
[in]pszRawMsgDie Nachrichtendaten.
[in]nRawMsgSizeDie Größe bzw. Länge der Nachrichtendaten.
[in]uiMessageIDEine eindeutige ID.
[in]iActionCodeDer ActionCode, siehe m_iActionCode.
[in]rstrInfoEine zusätzliche Text-Info
Achtung
Dieses Objekt übernimmt das entfernen der pszRawMsg aus dem Speicher
Ausnahmebehandlung
eut::ErrorNExceptionWenn aus den Daten m_pszTransmitData nicht gesetzt werden kann (weil z.B. Attribute ungültig sind), wird eine Exception geworfen.

◆ ~Message()

virtual tcp::Message::~Message ( )
virtual

Destruktor.

◆ Message() [4/4]

tcp::Message::Message ( const Message & )
private

Der Copy-Konstruktor steht nicht zur Verfügung.

Dokumentation der Elementfunktionen

◆ getActionCode()

int tcp::Message::getActionCode ( ) const

Liefert den Aktionscode.

Siehe auch
ActionCode und ERRORS

◆ getInfo()

std::string tcp::Message::getInfo ( ) const

Liefert den Informationstext.

◆ getMsgID()

unsigned int tcp::Message::getMsgID ( ) const

Liefert die eindeutige ID.

◆ getRawMsg()

std::size_t tcp::Message::getRawMsg ( char *& prszRawMsg,
bool bCopy = true )

Liefert die Nachrichtendaten.

Parameter
[in,out]prszRawMsgHier werden die Nachrichtendaten geliefert.
[in]bCopyWenn auf true gesetzt ist, wird von dieser Methode für übergebene prszRawMsg Speicher angefordert, welcher von der aufrufenden Instanz wieder freigegeben werden muß.
Rückgabe
Der Rückgabewert zeigt die Datengröße an.
Ausnahmebehandlung
eut::ErrorNExceptionEs wird eine Exception geworfen, wenn kein Speicher angefordert werden konnte.

◆ getRawMsgPt()

char * tcp::Message::getRawMsgPt ( )

Liefert die Nachrichtsdaten.

◆ getRawMsgSize()

std::size_t tcp::Message::getRawMsgSize ( ) const

Liefert die Größe der Nachrichtsdaten.

◆ getTransmitData()

std::size_t tcp::Message::getTransmitData ( char *& prszSendMsg,
bool bCopy = true )

Liefert die Sendedaten.

Parameter
[in,out]prszSendMsgHier werden die Sendedaten geliefert.
[in]bCopyWenn auf true gesetzt ist, wird von dieser Methode für übergebene prszSendMsg Speicher angefordert, welcher von der aufrufenden Instanz wieder freigegeben werden muß.
Rückgabe
Der Rückgabewert zeigt die Datengröße an.
Ausnahmebehandlung
eut::ErrorNExceptionEs wird eine Exception geworfen, wenn kein Speicher angefordert werden konnte.

◆ getTransmitDataPt()

char * tcp::Message::getTransmitDataPt ( )

Liefert die Sendedaten.

◆ getTransmitDataSize()

std::size_t tcp::Message::getTransmitDataSize ( ) const

Liefert die Größe der Sendedaten.

◆ initDataFromSendMsg()

int tcp::Message::initDataFromSendMsg ( )
private

Setzt seine Attribute aus m_pszTransmitData. Wird von Message::Message( char *, std::size_t ) genutzt.

Rückgabe
Ein Rückgabewert < 0 zeigt einen Fehler an.

◆ initSendMsgFromData()

int tcp::Message::initSendMsgFromData ( )
private

Baut m_pszTransmitData aus seinen Attributen. Wird von Message( char *, std::size_t, unsigned int, int, const std::string & ) genutzt.

Rückgabe
Ein Rückgabewert < 0 zeigt einen Fehler an.

◆ operator=()

Message & tcp::Message::operator= ( const Message & )
private

Der Zuweisungsoperator steht nicht zur Verfügung.

Dokumentation der Datenelemente

◆ m_iActionCode

int tcp::Message::m_iActionCode
private

Ein Code um ggf. eine bestimmte Anforderung zu signalisieren.

Siehe auch
ActionCode
Achtung
Alle Zahlen < 0 sind reserviert für Fehlermeldungen!
Siehe auch
ERRORS

◆ m_nRawMessageSize

std::size_t tcp::Message::m_nRawMessageSize
private

Die Größe bzw. Länge der Nachrichtsdaten.

◆ m_nTransmitDataSize

std::size_t tcp::Message::m_nTransmitDataSize
private

Die Größe bzw. Länge der Sendedaten (Header plus Nachrichtsdaten).

◆ m_pszRawMessage

char* tcp::Message::m_pszRawMessage
private

Die Nachrichtsdaten.

◆ m_pszTransmitData

char* tcp::Message::m_pszTransmitData
private

Die gesamten Sendedaten der Message inkl. Header.

◆ m_strInfo

std::string tcp::Message::m_strInfo
private

Eine frei nutzbare Info.

◆ m_uiMessageID

unsigned int tcp::Message::m_uiMessageID
private

Eine eindeutige ID.


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