/* @(#)update.h (c) Telelogic AB */ #ifndef _UPDATE_HPP_ #define _UPDATE_HPP_ #include "support.h" #include "protos.h" #include <assert.h> #include "account.h" typedef enum { USERORDER_WITHDRAWAL = 0, USERORDER_DEPOSIT = 1, USERORDER_MENU = 2, USERORDER_QUIT = 3, USERORDER_UNKNOWN = 4 } UserOrderEnum; typedef enum { USERORDER_MENU_ACCOUNT_BALANCE = 0, USERORDER_MENU_ACCOUNT_LAST = 1, USERORDER_MENU_UNKNOWN = 2 } UserOrderMenuEnum; std::istream& operator>>(std::istream& f, UserOrderEnum& kind); std::ostream& operator<<(std::ostream& f, UserOrderEnum kind); class Update { private: void GenInit(); public: int Amount; UserOrderEnum Kind; Update(); Update(UserOrderEnum kind); ~Update(); void Execute(); // List class Update* same_Account; class Update* same_Transaction; // Transaction class Transaction* Transaction; void set_Transaction (class Transaction& a_Transaction); void unset_Transaction (); void p_connect_Transaction (class Transaction& a_Transaction); void p_disconnect_Transaction (class Transaction& a_Transaction); class Account* Account; void set_Account (class Account& a_Account); void unset_Account (); void p_connect_Account (class Account& a_Account); void p_disconnect_Account (class Account& a_Account); //GENB }; std::ostream& operator<<(std::ostream& f, Update& update); #define NEGATIVE(x) (x < 0) #endif