Dient als Schnittstelle zwischen Base bzw. PrivateBase und Manager. Wird mit dem ClientThread in der Dokumentation auch als Client-Kommunikator bezeichnet, wenn NICHT der Server-Kommunikator (ServerThread) gemeint ist. Mehr ...
#include <GloLocalThread.h>
Öffentliche Methoden | |
LocalThread (const std::string &rstrSchemaPath, const std::vector< std::string > &rAllowedSchemes) | |
~LocalThread () | |
virtual int | assignDBManager (OrderMsg *pOrderMsg) override |
virtual void | cancel () override |
bool | operator== (const LocalThread &rT) const |
bool | operator!= (const LocalThread &rT) const |
![]() | |
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) |
virtual int | takeOverResult (OrderMsg *pOrderMsg) |
bool | operator== (const Communicator &rT) const |
bool | operator!= (const Communicator &rT) const |
![]() | |
RepeatingThread () | |
virtual | ~RepeatingThread () |
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 int | sendToDBManager (OrderMsg *pOrderMsg) const override |
![]() | |
virtual void | processServerMsg (OrderMsg *pOrderMsg) const |
virtual void | work () override |
![]() | |
ORDER | getOrder () |
STATUS | getStatus () |
void | setStatus (STATUS eStatus) |
void | threadWork () |
void | toOrder (ORDER eOrder) |
Private Methoden | |
LocalThread () | |
LocalThread (const LocalThread &) | |
LocalThread & | operator= (const LocalThread &) |
Private Attribute | |
Manager * | m_pDBManager |
Weitere Geerbte Elemente | |
![]() | |
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 } |
![]() | |
std::string | m_strDebugInfo |
![]() | |
unsigned int | m_uiOrderCounter |
Dient als Schnittstelle zwischen Base bzw. PrivateBase und Manager. Wird mit dem ClientThread in der Dokumentation auch als Client-Kommunikator bezeichnet, wenn NICHT der Server-Kommunikator (ServerThread) gemeint ist.
Der LocalThread sendet Aufträge an den Manager und wartet bis der Auftrag ausgeführt wurde (oder auch nicht).
Der Manager übergiebt den abgearbeiteten Auftrag als Antwort an die hiesiege Auftrags- und Antwort-Queue. Objekte dieser Klasse sind notwendig, wenn die Base mit "LOCAL" aufgerufen wird und der Manager somit nicht als Server, sondern direkt zur Verfügungs steht.
Damit parallel auf die Datenbank zugegriffen werden kann, ist diese Klasse als Thread konzipiert (abgeleitet über Communicator von EuEndlessPThread).
|
private |
Der Standard-Konstruktor steht nicht zur Verfügung.
Wird benutzt von LocalThread(), operator!=(), operator=() und operator==().
glo::LocalThread::LocalThread | ( | const std::string & | rstrSchemaPath, |
const std::vector< std::string > & | rAllowedSchemes ) |
Konstruktor mit Parameterübergabe.
[in] | rstrSchemaPath | Der vollständiger Pfadname (z.B. "C:/Pfad/"), in dem die Schemadateien liegen. |
[in] | rAllowedSchemes | Die erlaubten Schemata (deren Bezeichnungen). |
eut::ErrorNException | Bei einem Fehler wird eine Exception geworfen. |
glo::LocalThread::~LocalThread | ( | ) |
Destruktor.
|
private |
Der Copy-Konstruktor steht nicht zur Verfügung.
Benutzt LocalThread().
|
overridevirtual |
Übergibt einen Auftrag an den Manager und wartet auf Antwort.
[in] | pOrderMsg | Der Auftragan für den Manager. |
Erneute Implementation von glo::Communicator.
|
overridevirtual |
Räumt den Speicher auf, bevor der Thread beendet wird. Wird im besitzenden PrivateBase vor beenden des Threads aufgerufen.
Da virtual, kann diese Methode nicht im Destructor aufgerufen werden.
Erneute Implementation von eut::RepeatingThread.
bool glo::LocalThread::operator!= | ( | const LocalThread & | rT | ) | const |
|
private |
Der Zuweisungsoperator steht nicht zur Verfügung.
Benutzt LocalThread().
bool glo::LocalThread::operator== | ( | const LocalThread & | rT | ) | const |
|
overrideprotectedvirtual |
Übergibt einen Auftrag (bekommen über LocalThread::assignDBManager() ) direkt an den Manager.
[in] | pOrderMsg | Der Auftrag für den Manager. |
Implementiert glo::Communicator.