Interface for class Session
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;
};
//