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

Ein Objekt dieser Klasse dient als Schnittstelle zwischen Manager und Base bzw. PrivateBase. Mehr ...

#include <GloServerThread.h>

Klassendiagramm für glo::ServerThread:

Öffentliche Methoden

 ServerThread (Server::TcpServerReceiverTransmitter *pTcpServerReceiverTransmitter)
 ~ServerThread ()
virtual int assignDBManager (OrderMsg *pOrderMsg) override
ManagerDBManager ()
Server::TcpServerReceiverTransmittergetTcpServerReceiverTransmitter ()
virtual int takeOverResult (OrderMsg *pOrderMsg) override
bool operator== (const ServerThread &rT) const
bool operator!= (const ServerThread &rT) const
Öffentliche Methoden geerbt von glo::Communicator
 Communicator ()
virtual ~Communicator ()
std::string getClientName () const
const std::string & getClientNameAsRef ()
unsigned int getCommunicatorID () const
virtual void setClientName (const std::string &rstrClientName)
virtual void setCommunicatorID (unsigned int uiID)
bool operator== (const Communicator &rT) const
bool operator!= (const Communicator &rT) const
Öffentliche Methoden geerbt von eut::RepeatingThread
 RepeatingThread ()
virtual ~RepeatingThread ()
virtual void cancel ()
virtual void finishBreak ()
int getBreakCounter ()
bool isInExclusiveAccess () const
void setExclusiveAccess ()
void signalInput ()
virtual int start ()
RepeatingThread::STATUS status () const
virtual void takeABreak ()
bool testCancel ()
void unsetExclusiveAccess ()
void waitForInput ()

Geschützte Methoden

virtual void processServerMsg (OrderMsg *pOrderMsg) const override
virtual int sendToDBManager (OrderMsg *pOrderMsg) const override
Geschützte Methoden geerbt von glo::Communicator
virtual void work () override
Geschützte Methoden geerbt von eut::RepeatingThread
ORDER getOrder ()
STATUS getStatus ()
void setStatus (STATUS eStatus)
void threadWork ()
void toOrder (ORDER eOrder)

Private Methoden

 ServerThread ()
 ServerThread (const ServerThread &)
ServerThreadoperator= (ServerThread &)

Private Attribute

Managerm_pDBManager
Server::TcpServerReceiverTransmitterm_pTcpServerReceiverTransmitter

Weitere Geerbte Elemente

Öffentliche Typen geerbt von eut::RepeatingThread
enum  EuTHREADERROR { EuTHREAD_ERR_NO_THREAD = -10301 , EuTHREAD_ERR_THREAD_ALREADY_WORKING = -10302 , EuTHREAD_ERR_THREAD_BREAK_COUNT_LESS_THAN_ZERO = -10303 , EuTHREAD_ERR_UNKNOWN = -10400 }
 Fehlerbereich = -10301 bis -10400 Mehr ...
enum  ORDER { eUNDEFINED , eDO_WORK , eEXIT }
enum  STATUS {
  eAT_THE_START , eWORKING , ePAUSING , eENDING ,
  eCOMPLETED
}
Öffentliche Attribute geerbt von eut::RepeatingThread
std::string m_strDebugInfo
Geschützte Attribute geerbt von glo::Communicator
unsigned int m_uiOrderCounter

Ausführliche Beschreibung

Ein Objekt dieser Klasse dient als Schnittstelle zwischen Manager und Base bzw. PrivateBase.

Sendet Informationen des Manager an verbundne Clients.

Gegenstelle ist über die TCP-Kommunikatoren der ClientThread.

Siehe auch
ClientThread
Autor
Helmut Jakoby

Beschreibung der Konstruktoren und Destruktoren

◆ ServerThread() [1/3]

glo::ServerThread::ServerThread ( )
private

Der Standard-Konstruktor steht nicht zur Verfügung.

Wird benutzt von ServerThread(), operator!=(), operator=() und operator==().

◆ ServerThread() [2/3]

glo::ServerThread::ServerThread ( Server::TcpServerReceiverTransmitter * pTcpServerReceiverTransmitter)

Konstruktor mit Parameterübergabe.

Parameter
[in]pTcpServerReceiverTransmitterWird benötigt, weil über diesen die TCP-Kommunikation abgewickelt wird.
Achtung
Die Verantwortung über den Server::TcpServerReceiverTransmitter verbleibt bei der aufrufenden Instanz. Objekte dieser Klasse entfernen pTcpServerReceiverTransmitter nicht aus dem Speicher.
Ausnahmebehandlung
eut::ErrorNExceptionBei einem Fehler wird eine Exception geworfen.

◆ ~ServerThread()

glo::ServerThread::~ServerThread ( )

Destruktor.

◆ ServerThread() [3/3]

glo::ServerThread::ServerThread ( const ServerThread & )
private

Der Copy-Konstruktor steht niccht zur Verfügung.

Benutzt ServerThread().

Dokumentation der Elementfunktionen

◆ assignDBManager()

virtual int glo::ServerThread::assignDBManager ( OrderMsg * pOrderMsg)
overridevirtual

Versendet einen Auftrag an den Manager und wartet auf Antwort.

Parameter
[in]pOrderMsgDer Auftrag für den Manager.
Rückgabe
Ein Rückgabewert < 0 zeigt einen Fehler an.

Erneute Implementation von glo::Communicator.

◆ DBManager()

Manager * glo::ServerThread::DBManager ( )

Liefert Zeiger auf seinen Manager.

Achtung
Die aufrufende Instanz darf das gelieferte Objekt nicht aus dem Speicher entfernen.

◆ getTcpServerReceiverTransmitter()

Server::TcpServerReceiverTransmitter * glo::ServerThread::getTcpServerReceiverTransmitter ( )

Liefert Zeiger auf seinen TcpServerReceiverTransmitter, welcher die Pakete empfängt bzw. versendet.

Achtung
Die aufrufende Instanz darf das gelieferte Objekt nicht aus dem Speicher entfernen.

◆ operator!=()

bool glo::ServerThread::operator!= ( const ServerThread & rT) const

Vergleichsoperator.

Parameter
[in]rTDas mit diesem zu vergleichende Objekt.

Benutzt ServerThread().

◆ operator=()

ServerThread & glo::ServerThread::operator= ( ServerThread & )
private

Der Zuweisungsoperator steht nicht zur Verfügung.

Benutzt ServerThread().

◆ operator==()

bool glo::ServerThread::operator== ( const ServerThread & rT) const

Vergleichsoperator.

Parameter
[in]rTDas mit diesem zu vergleichende Objekt.

Benutzt ServerThread().

◆ processServerMsg()

virtual void glo::ServerThread::processServerMsg ( OrderMsg * pOrderMsg) const
overrideprotectedvirtual

Verarbeitet einen Auftrag, z.B. vom Manager oder einen Auftrag zum übermitteln einer Informationen von überwachten Objekten indem der Auftrag bzw. die Information über TcpServerReceiverTransmitter an den Client versendet wird

Parameter
[in]pOrderMsgDer zu versendende Auftrag.
Zu beachten
Es wird nicht die gleiche Methode der Oberklasse aufgerufen.

Erneute Implementation von glo::Communicator.

◆ sendToDBManager()

virtual int glo::ServerThread::sendToDBManager ( OrderMsg * pOrderMsg) const
overrideprotectedvirtual

Übergibt einen Auftrag direkt an den Manager.

Parameter
[in]pOrderMsgDer Auftrag für den Manager.
Rückgabe
Ein Rückgabewert < 0 zeigt einen Fehler an.

Implementiert glo::Communicator.

◆ takeOverResult()

virtual int glo::ServerThread::takeOverResult ( OrderMsg * pOrderMsg)
overridevirtual

Übernimmt eine Nachricht in seine Nachrichten-Queue um diese zu verarbeiten.

Parameter
[in]pOrderMsgDie abzuarbeitende Nachricht.
Rückgabe
Ein Rückgabewert < 0 zeigt einen Fehler an.

Erneute Implementation von glo::Communicator.

Dokumentation der Datenelemente

◆ m_pDBManager

Manager* glo::ServerThread::m_pDBManager
private

Der Zeiger auf den Manager.

◆ m_pTcpServerReceiverTransmitter

Server::TcpServerReceiverTransmitter* glo::ServerThread::m_pTcpServerReceiverTransmitter
private

Der TcpServerReceiverTransmitter, welcher die Pakete empfängt bzw. versendet.


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