/* @(#)cashier.cc 1.2 */ //SEQb #include "cashier.h" /*GENB*/ #include "bank.h" /*GENB*/ #include /*GENB*/ #include "cashiert.h" /*GENB*/ //SETb //SEQb void Cashier::GenInit() //GENB { //GENB CashierTransaction = 0; //GENB Bank = 0; //GENB } //GENB //SEQe //SEQb Cashier::Cashier() //GENB { //GENB GenInit(); //GENB } //GENB //SEQe //SEQb void Cashier::set_Bank (class Bank& a_Bank) //GENB { //GENB p_connect_Bank(a_Bank); //GENB a_Bank.p_connect_Cashier(*this); //GENB } //GENB void Cashier::unset_Bank() //GENB { //GENB if (Bank) Bank->p_disconnect_Cashier(*this); //GENB p_disconnect_Bank(*Bank); //GENB } //GENB void Cashier::p_connect_Bank (class Bank& a_Bank) //GENB { //GENB unset_Bank(); //GENB Bank = &a_Bank; //GENB } //GENB void Cashier::p_disconnect_Bank(class Bank& a_Bank) //GENB { //GENB assert(&a_Bank == Bank); //GENB Bank = 0; //GENB } //GENB void Cashier::add_CashierTransaction (class CashierTransaction& a_CashierTransaction) //GENB { //GENB p_connect_CashierTransaction(a_CashierTransaction); //GENB a_CashierTransaction.p_connect_Cashier(*this); //GENB } //GENB void Cashier::rem_CashierTransaction(class CashierTransaction& a_CashierTransaction) //GENB { //GENB p_disconnect_CashierTransaction(a_CashierTransaction); //GENB a_CashierTransaction.p_disconnect_Cashier(*this); //GENB } //GENB void Cashier::p_connect_CashierTransaction (class CashierTransaction& a_CashierTransaction) //GENB { //GENB a_CashierTransaction.same_Cashier = CashierTransaction; //GENB CashierTransaction = &a_CashierTransaction; //GENB } //GENB void Cashier::p_disconnect_CashierTransaction(class CashierTransaction& a_CashierTransaction) //GENB { //GENB class CashierTransaction **p; //GENB for (p = &CashierTransaction; *p && *p != &a_CashierTransaction; p = &(*p) ->same_Cashier); //GENB if (*p) *p = (*p) ->same_Cashier; //GENB } //GENB //SEQe //SETe //SEQe