#ifndef PROTECTOR_ENGINE_H #define PROTECTOR_ENGINE_H #include #include #include #include #include "database.h" #include "lexer.h" class BookStoreEngineClass { std::string config_dir; UserDataBase user_data_base; BookDataBase book_data_base; LogDataBase log_data_base; std::unordered_map login_count; bool is_server; public: BookStoreEngineClass() = delete; BookStoreEngineClass(std::string __config_dir, bool __is_server); std::string QueryUserInfo(const std::string &user_name); std::vector Execute( const std::string &cmd, std::stack> &login_stack); std::vector ExecuteSu( const std::string &cmd, std::stack> &login_stack); std::vector ExecuteLogout( const std::string &cmd, std::stack> &login_stack); std::vector ExecuteRegister( const std::string &cmd, std::stack> &login_stack); std::vector ExecutePasswd( const std::string &cmd, std::stack> &login_stack); std::vector ExecuteUserAdd( const std::string &cmd, std::stack> &login_stack); std::vector ExecuteDelete( const std::string &cmd, std::stack> &login_stack); std::vector ExecuteShow( const std::string &cmd, std::stack> &login_stack); std::vector ExecuteBuy( const std::string &cmd, std::stack> &login_stack); std::vector ExecuteSelect( const std::string &cmd, std::stack> &login_stack); std::vector ExecuteMOdify( const std::string &cmd, std::stack> &login_stack); std::vector ExecuteImport( const std::string &cmd, std::stack> &login_stack); std::vector ExecuteShowFinance( const std::string &cmd, std::stack> &login_stack); std::vector ExecuteLog( const std::string &cmd, std::stack> &login_stack); std::vector ExecuteReport( const std::string &cmd, std::stack> &login_stack); }; #endif // PROTECTOR_ENGINE_H