//
/* * Example ATM simulation - file session.h * * This file declares the class that represents a single customer session * with the ATM, implementing the corresponding use case. * * Copyright (c) 1996 - Russell C. Bjork * */ //
class Session { /* PURPOSE: Manage a session with a single user. */ public: Session(int cardNumber); // Run session until user is through or some exceptional condition // prevents further processing void doSessionUseCase(); // Force user to re-enter PIN if bank says original PIN was invalid. // Return final code from resubmission to bank. Bank::ApprovalCode doInvalidPINExtension(); // Each transation obtains this information from the session when it // is needed int cardNumber() const; int PIN() const; private: enum { RUNNING, ABORTED } _state; int _cardNumber; int _PIN; class Transaction * _currentTransaction; }; //