/* @(#)consorti.cc (c) Telelogic AB */ #include "consorti.h" #include "bank.h" #include <assert.h> #include "atm.h" void Consortium::GenInit() { ATM = 0; Bank = 0; } Consortium::Consortium() { GenInit(); } Consortium::Consortium(const char* name) { GenInit(); Name.SetStr(name); } Consortium::~Consortium() { // { // class Bank *p, *aux; // for (p = Bank; p; p = aux) { // aux = p ->same_Consortium; // delete p; // } // } } void Consortium::add_Bank (class Bank& a_Bank) //GENB { //GENB p_connect_Bank(a_Bank); //GENB a_Bank.p_connect_Consortium(*this); //GENB } //GENB void Consortium::rem_Bank(class Bank& a_Bank) //GENB { //GENB p_disconnect_Bank(a_Bank); //GENB a_Bank.p_disconnect_Consortium(*this); //GENB } //GENB void Consortium::p_connect_Bank (class Bank& a_Bank) //GENB { //GENB a_Bank.same_Consortium = Bank; //GENB Bank = &a_Bank; //GENB } //GENB void Consortium::p_disconnect_Bank(class Bank& a_Bank) //GENB { //GENB class Bank **p; //GENB for (p = &Bank; *p && *p != &a_Bank; p = &(*p) ->same_Consortium); //GENB if (*p) *p = (*p) ->same_Consortium; //GENB } //GENB void Consortium::add_ATM (class ATM& a_ATM) //GENB { //GENB p_connect_ATM(a_ATM); //GENB a_ATM.p_connect_owner(*this); //GENB } //GENB void Consortium::rem_ATM(class ATM& a_ATM) //GENB { //GENB p_disconnect_ATM(a_ATM); //GENB a_ATM.p_disconnect_owner(*this); //GENB } //GENB void Consortium::p_connect_ATM (class ATM& a_ATM) //GENB { //GENB a_ATM.same_owner = ATM; //GENB ATM = &a_ATM; //GENB } //GENB void Consortium::p_disconnect_ATM(class ATM& a_ATM) //GENB { //GENB class ATM **p; //GENB for (p = &ATM; *p && *p != &a_ATM; p = &(*p) ->same_owner); //GENB if (*p) *p = (*p) ->same_owner; //GENB } //GENB