119 lines
2.4 KiB
C++
119 lines
2.4 KiB
C++
struct withdraw
|
|
{
|
|
std::string account;
|
|
unsigned amount;
|
|
mutable messaging::sender atm_queue;
|
|
withdraw(std::string const& account_,
|
|
unsigned amount_,
|
|
messaging::sender atm_queue_):
|
|
account(account_),amount(amount_),
|
|
atm_queue(atm_queue_)
|
|
{}
|
|
};
|
|
struct withdraw_ok
|
|
{};
|
|
struct withdraw_denied
|
|
{};
|
|
struct cancel_withdrawal
|
|
{
|
|
std::string account;
|
|
unsigned amount;
|
|
cancel_withdrawal(std::string const& account_,
|
|
unsigned amount_):
|
|
account(account_),amount(amount_)
|
|
{}
|
|
};
|
|
struct withdrawal_processed
|
|
{
|
|
std::string account;
|
|
unsigned amount;
|
|
withdrawal_processed(std::string const& account_,
|
|
unsigned amount_):
|
|
account(account_),amount(amount_)
|
|
{}
|
|
};
|
|
struct card_inserted
|
|
{
|
|
std::string account;
|
|
explicit card_inserted(std::string const& account_):
|
|
account(account_)
|
|
{}
|
|
};
|
|
struct digit_pressed
|
|
{
|
|
char digit;
|
|
explicit digit_pressed(char digit_):
|
|
digit(digit_)
|
|
{}
|
|
};
|
|
struct clear_last_pressed
|
|
{};
|
|
struct eject_card
|
|
{};
|
|
struct withdraw_pressed
|
|
{
|
|
unsigned amount;
|
|
explicit withdraw_pressed(unsigned amount_):
|
|
amount(amount_)
|
|
{}
|
|
};
|
|
struct cancel_pressed
|
|
{};
|
|
struct issue_money
|
|
{
|
|
unsigned amount;
|
|
issue_money(unsigned amount_):
|
|
amount(amount_)
|
|
{}
|
|
};
|
|
struct verify_pin
|
|
{
|
|
std::string account;
|
|
std::string pin;
|
|
mutable messaging::sender atm_queue;
|
|
verify_pin(std::string const& account_,std::string const& pin_,
|
|
messaging::sender atm_queue_):
|
|
account(account_),pin(pin_),atm_queue(atm_queue_)
|
|
{}
|
|
};
|
|
struct pin_verified
|
|
{};
|
|
struct pin_incorrect
|
|
{};
|
|
struct display_enter_pin
|
|
{};
|
|
struct display_enter_card
|
|
{};
|
|
struct display_insufficient_funds
|
|
{};
|
|
struct display_withdrawal_cancelled
|
|
{};
|
|
struct display_pin_incorrect_message
|
|
{};
|
|
struct display_withdrawal_options
|
|
{};
|
|
struct get_balance
|
|
{
|
|
std::string account;
|
|
mutable messaging::sender atm_queue;
|
|
get_balance(std::string const& account_,messaging::sender atm_queue_):
|
|
account(account_),atm_queue(atm_queue_)
|
|
{}
|
|
};
|
|
struct balance
|
|
{
|
|
unsigned amount;
|
|
explicit balance(unsigned amount_):
|
|
amount(amount_)
|
|
{}
|
|
};
|
|
struct display_balance
|
|
{
|
|
unsigned amount;
|
|
explicit display_balance(unsigned amount_):
|
|
amount(amount_)
|
|
{}
|
|
};
|
|
struct balance_pressed
|
|
{};
|