|
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 |
1.8.5