99 lines
2.2 KiB
C++
99 lines
2.2 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 {
|
|
};
|