#include "Idle.h"

// Author: Steve Talbot

Idle:: Idle(){

}

Idle:: ~Idle(){
}

bool Idle:: correct_login( int& nextStateId_ ){

	nextStateId_ = _stateIds->CHECK_PIN;

	return getOutputProcessor()->prompt_for_pin();

}

bool Idle:: incorrect_login(){

	return getOutputProcessor()->incorrect_id_msg();

}


// these are only necessary if the parent class defines these
// methods are "abstract" (i.e.: pure virtual) methods ..

//bool Idle:: logout( int& nextStateId_ ){ /* empty implementation */ return false; }													// Inactive(); Overdrawn(); Ready();

//bool Idle:: correct_pin( int& nextStateId_ ){ /* empty implementation */ return false; }												// Overdrawn(); Ready();
//bool Idle:: correct_pin( bool isAboveMinBalance_, int& nextStateId_ ){ /* empty implementation */ return false; }						// Inactive();
//bool Idle:: correct_pin( bool isAboveMinBalance_, bool isActive_, int& nextStateId_ ){ /* empty implementation */ return false; }		// CheckPin();

//bool Idle:: incorrect_pin(){ /* empty implementation */ return false; }													// Inactive(); Overdrawn(); Ready();
//bool Idle:: incorrect_pin( bool attemptsRemain_, int& nextStateId_ ){ /* empty implementation */ return false; }			// CheckPin();

//bool Idle:: attempts_remain(){ /* empty implementation */ return false; }													// CheckPin();
//bool Idle:: too_many_attempts(int& nextStateId_){ /* empty implementation */ return false; }								// CheckPin();

//bool Idle:: active(bool isAboveMinBalance_, int& nextStateId_){ /* empty implementation */ return false; }					// CheckPin();
//bool Idle:: inactive(int& nextStateId_){ /* empty implementation */ return false; }										// CheckPin();

//bool Idle:: above_min_balance(int& nextStateId_ ){ /* empty implementation */ return false; }								// CheckPin(); Inactive();
//bool Idle:: below_min_balance(int& nextStateId_ ){ /* empty implementation */ return false; }								// CheckPin(); Inactive();

//bool Idle:: activate( bool isPinCorrect_, bool isAboveMinBalance_, int& nextStateId ){ /* empty implementation */ return false; }		// Inactive();
//bool Idle:: deactivate( bool isPinCorrect_, int& nextStateId_ ){ /* empty implementation */ return false; }							// Overdrawn(); Ready();

//bool Idle:: balance(){ /* empty implementation */ return false; }															// Inactive(); Overdrawn(); Ready();
//bool Idle:: withdraw( bool isLessThanMinBalance_, int& nextStateId_ ){ /* empty implementation */ return false; }			// Inactive(); Overdrawn(); Ready();
//bool Idle:: deposit( bool isLessThanMinBalance_, int& nextStateId_ ){ /* empty implementation */ return false; }			// Inactive(); Overdrawn(); Ready();

//bool Idle:: diff_more_or_equal_to_min_balance(){ /* empty implementation */ return false; }								// Ready();
//bool Idle:: diff_less_than_min_balance( int& nextStateId_ ){ /* empty implementation */ return false; }					// Ready();

//bool Idle:: sum_more_or_equal_to_min_balance( int& nextStateId_ ){ /* empty implementation */ return false; }				// Overdrawn();
//bool Idle:: sum_less_than_min_balance(){ /* empty implementation */ return false; }										// Overdrawn();
