Rezervační systém
|
autobus ...
#include <Bus.h>
Veřejné metody | |
CBus (const RBusInfo *prInfo, unsigned uiId, unsigned uiSeats) | |
konstruktor ... | |
CBus (std::istream *cStream) | |
načtení z proudu ... | |
~CBus () | |
destruktor | |
unsigned | Id (void) const |
vrátí ID autobusu | |
unsigned | CityFrom (void) const |
vrátí ID počátečního města | |
unsigned | CityTo (void) const |
vrátí ID cílového města | |
unsigned | Plan (void) const |
vrátí ID plánu autobusu | |
time_t | LeaveTime (void) const |
vrátí čas odjezdu autobusu | |
unsigned | Seats (void) const |
vrátí počet sedadel v autobusu | |
void | FreeSeats (std::list< unsigned > *cSeats) |
volná sedadla ... | |
void | GetInfo (RBusInfo *prData) |
info o autobusu ... | |
void | Enable (void) |
povolit rezervace pro autobus | |
void | Disable (void) |
zakázat rezervace pro autobus | |
bool | Enabled (void) |
dotaz zda je autobus povolen ... | |
bool | AskSeats (std::list< unsigned > *cSeats, unsigned uiCustomer) |
dočasná rezervace ... | |
bool | LockSeats (std::list< unsigned > *cSeats, unsigned uiCustomer) |
trvalá rezervace ... | |
bool | UnlockSeats (std::list< unsigned > *cSeats, unsigned uiCustomer) |
zrušení rezervace ... | |
void | Backup (std::ostream *cStream) const |
záloha ... | |
autobus
Třída obsahuje všechna data o jednom autobusu. Obsahuje konstatní data ve struktuře RBusInfo, kontajner sedadel (instancí třídy CSeat) a další položky (jako zámek pro vícenásobný přístup zděděný od CReadWriteLock), které mohou v průběhu života třídy své hodnoty měnit. Každá instance má své unikátní číslo. Informace o počáteční a cílové stanici jsou uloženy jako odkazy na třídy CCity, plán sedadel je určen šablonou typu CPlan.
CBus::CBus | ( | const RBusInfo * | prInfo, |
unsigned | uiId, | ||
unsigned | uiSeats | ||
) |
konstruktor
Vytvoření nového autobusu, který obsahuje kontajner zadaného počtu sedadel.
[in] | prInfo | ukazatel na strukturu RBusInfo, která obsahuje data pro tento autobus |
[in] | uiId | jedinečné ID tohoto autobusu |
[in] | uiSeats | počet sedadel |
CBus::CBus | ( | std::istream * | cStream | ) |
načtení z proudu
Třída je vytvořena načtením všech položek z proudu.
[in] | cStream | vstupní proud s binárními daty |
bool CBus::AskSeats | ( | std::list< unsigned > * | cSeats, |
unsigned | uiCustomer | ||
) |
dočasná rezervace
Dočasná rezervace sedadel ze seznamu. Sedadla, která se povedlo rezervovat, zůstanou v seznamu, ostatní budou smazána.
[in,out] | cSeats | seznam sedadel k rezervaci |
[in] | uiCustomer | ID rezervujícího |
void CBus::Backup | ( | std::ostream * | cStream | ) | const |
záloha
Vytvoření zálohy třídy všech datových položek do proudu (souboru, soketu, ...).
[out] | cStream | výstupní proud otevřený v binárním módu |
bool CBus::Enabled | ( | void | ) |
dotaz zda je autobus povolen
void CBus::FreeSeats | ( | std::list< unsigned > * | cSeats | ) |
volná sedadla
Naplní seznam čísly volných sedadel.
[out] | cSeats | seznam, do kterého se vloží čísla volných sedadel |
void CBus::GetInfo | ( | RBusInfo * | prData | ) |
bool CBus::LockSeats | ( | std::list< unsigned > * | cSeats, |
unsigned | uiCustomer | ||
) |
trvalá rezervace
Trvalá rezervace sedadel ze seznamu. Sedadla, která se povedlo rezervovat, zůstanou v seznamu, ostatní budou smazána.
[in,out] | cSeats | seznam sedadel k rezervaci |
[in] | uiCustomer | ID rezervujícího |
bool CBus::UnlockSeats | ( | std::list< unsigned > * | cSeats, |
unsigned | uiCustomer | ||
) |
zrušení rezervace
Zrušení rezervace sedadel ze seznamu. Sedadla, která se povedlo uvolnit, zůstanou v seznamu, ostatní budou smazána.
[in,out] | cSeats | seznam sedadel k uvolnění |
[in] | uiCustomer | ID rezervujícího |