GlobalObjects
|
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 |
Ö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) |
virtual int | takeOverResult (OrderMsg *pOrderMsg) |
bool | operator== (const Communicator &rT) const |
bool | operator!= (const Communicator &rT) const |
Öffentliche Methoden geerbt von eut::RepeatingThread | |
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 |
Geschützte Methoden geerbt von glo::Communicator | |
virtual void | processServerMsg (OrderMsg *pOrderMsg) const |
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 | |
LocalThread () | |
LocalThread (const LocalThread &) | |
LocalThread & | operator= (const LocalThread &) |
Private Attribute | |
Manager * | m_pDBManager |
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 |
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.
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.
|
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 |
Vergleichsoperator.
[in] | rT | Das mit diesem zu vergleichende Objekt. |
|
private |
Der Zuweisungsoperator steht nicht zur Verfügung.
bool glo::LocalThread::operator== | ( | const LocalThread & | rT | ) | const |
Vergleichsoperator.
[in] | rT | Das mit diesem zu vergleichende Objekt. |
|
overrideprotectedvirtual |
Übergibt einen Auftrag (bekommen über LocalThread::assignDBManager() ) direkt an den Manager.
[in] | pOrderMsg | Der Auftrag für den Manager. |
Implementiert glo::Communicator.