/* @(#)bank.h (c) Telelogic AB */ #ifndef _BANK_HPP_ #define _BANK_HPP_ #include #include "protos.h" #include "support.h" class Bank { private: void GenInit(); public: Text Name; Text Code; Account *create_account(Customer& customer); CashCard *create_cashcard(Customer& customer); Bank(); Bank(const char* name, const char* code); void Print(); // CardAuthorisation class CardAuthorization* CardAuthorization; void add_CardAuthorization (class CardAuthorization& a_CardAuthorization); void rem_CardAuthorization (class CardAuthorization& a_CardAuthorization); void p_connect_CardAuthorization (class CardAuthorization& a_CardAuthorization); void p_disconnect_CardAuthorization (class CardAuthorization& a_CardAuthorization); class CardAuthorization& get_NthCardAuthorization (int icard); class CashCard& get_NthCashCard (int icard); //Consortium class Bank *same_Consortium; class Consortium* Consortium; void set_Consortium (class Consortium& a_Consortium); void unset_Consortium (); void p_connect_Consortium (class Consortium& a_Consortium); void p_disconnect_Consortium (class Consortium& a_Consortium); // CashierStation class CashierStation* CashierStation; void add_CashierStation (class CashierStation& a_CashierStation); void rem_CashierStation (class CashierStation& a_CashierStation); void p_connect_CashierStation (class CashierStation& a_CashierStation); void p_disconnect_CashierStation (class CashierStation& a_CashierStation); // Cashier class Cashier* BankCashier; void add_Cashier (class Cashier& a_Cashier); void rem_Cashier (class Cashier& a_Cashier); void p_connect_Cashier (class Cashier& a_Cashier); void p_disconnect_Cashier (class Cashier& a_Cashier); // Account class Account* BankAccount; void add_Account (class Account& a_Account); void rem_Account (class Account& a_Account); void p_connect_Account (class Account& a_Account); void p_disconnect_Account (class Account& a_Account); }; #endif