Rezervační systém
|
hlavní třída klientské aplikace ...
#include <ClientApp.h>
Veřejné metody | |
CClientApp (CQuery *cQuery, bool fIsFull) | |
konstruktor ... | |
~CClientApp () | |
destruktor | |
bool | Run (void) |
spuštění zpracovatelské smyčky ... | |
hlavní třída klientské aplikace
Hlavní třída klientské aplikace zabezpečuje vstup příkazů od uživatele (k tomu si zřizuje privátní instanci CGraphics), rozpoznání příkazů včetně vyzvednutí a syntaktické kontroly případných parametrů. Dále volá zpracování příkazu pomocí modulu klientské logiky (privátní instance třídy CLogic). Výsledky zpracování či případné chybové stavy zobrazuje obsluze opět pomocí CGraphics.
O zpracování každého příkazu se stará příslušná privátní metoda třídy typu FnCommand. Pro rychlé vyhledávání metody odpovídající danému příkazu třída obsahuje privátní hashovací tabulku pro přiřazení příkaz-metoda. To umožňuje i snadné přidávání dalších příkazů v případě potřeby.
CClientApp::CClientApp | ( | CQuery * | cQuery, |
bool | fIsFull | ||
) |
konstruktor
Vytvoření instance třídy, jež tvoří základ klientské aplikace.
[in] | cQuery | ukazatel na instanci třídy, která implementuje databázové rozhraní. V případě klientské aplikace to je typicky modul, který zprostředkovává přenos příkazů na server pomocí meziprocesové komunikace. Parametr potřebuje k tomu, aby privátně vytvořená instance třídy CLogic mohla být připojena k odkazovanému databázovému rozhraní. |
[in] | fIsFull | přepínač, zda je tento klient s plným oprávněním (pro vedoucího dispečera) nebo zda má jen redukované oprávnění (pro pokladní za přepážkou). |
bool CClientApp::Run | ( | void | ) |
spuštění zpracovatelské smyčky
Vstup do smyčky
Smyčka je ukončena příkazem EXIT
(případně koncem souboru, jedná-li se o vstup ze souboru přesměrovaného na standardní vstup).
V případě závažné chyby (nedostupný nebo chybně nakonfigurovaný server, ztráta dat při komunikaci, atp.) je vypsáno oznámení závažné chyby. Obsluha se může snažit najít zdroj problému a po odstranění opakovat pokus nebo zpracování ve smyčce ukončit.