upd: first version of lexer
This commit is contained in:
@ -19,11 +19,16 @@ class UserDataBase {
|
||||
class BookDataBase {
|
||||
DriveArray<BookItemClass> full_book_data;
|
||||
String2Index indexer;
|
||||
String2Index keyword2index;
|
||||
|
||||
public:
|
||||
void Open(std::string file_name);
|
||||
};
|
||||
class LogDataBase {
|
||||
DriveArray<FinanceItemClass> finance_data;
|
||||
DriveArray<OperationLogItemClass> operation_log_data;
|
||||
|
||||
public:
|
||||
void Open(std::string file_name);
|
||||
};
|
||||
|
||||
#endif // PROTECTOR_DATABASE_HPP
|
@ -9,11 +9,42 @@
|
||||
class BookStoreEngineClass {
|
||||
std::string config_dir;
|
||||
UserDataBase user_data_base;
|
||||
BookDataBase book_data_base;
|
||||
LogDataBase log_data_base;
|
||||
bool is_server;
|
||||
|
||||
public:
|
||||
BookStoreEngineClass() = delete;
|
||||
BookStoreEngineClass(std::string __config_dir, bool __is_server);
|
||||
std::vector<std::string> Execute(const std::string &cmd,
|
||||
std::stack<std::string> &login_stack);
|
||||
std::stack<std::pair<std::string, std::string>> &login_stack);
|
||||
std::vector<std::string> ExecuteSu(const std::string &cmd,
|
||||
std::stack<std::pair<std::string, std::string>> &login_stack);
|
||||
std::vector<std::string> ExecuteLogout(const std::string &cmd,
|
||||
std::stack<std::pair<std::string, std::string>> &login_stack);
|
||||
std::vector<std::string> ExecuteRegister(
|
||||
const std::string &cmd, std::stack<std::pair<std::string, std::string>> &login_stack);
|
||||
std::vector<std::string> ExecutePasswd(const std::string &cmd,
|
||||
std::stack<std::pair<std::string, std::string>> &login_stack);
|
||||
std::vector<std::string> ExecuteUserAdd(const std::string &cmd,
|
||||
std::stack<std::pair<std::string, std::string>> &login_stack);
|
||||
std::vector<std::string> ExecuteDelete(const std::string &cmd,
|
||||
std::stack<std::pair<std::string, std::string>> &login_stack);
|
||||
std::vector<std::string> ExecuteShow(const std::string &cmd,
|
||||
std::stack<std::pair<std::string, std::string>> &login_stack);
|
||||
std::vector<std::string> ExecuteBuy(const std::string &cmd,
|
||||
std::stack<std::pair<std::string, std::string>> &login_stack);
|
||||
std::vector<std::string> ExecuteSelect(const std::string &cmd,
|
||||
std::stack<std::pair<std::string, std::string>> &login_stack);
|
||||
std::vector<std::string> ExecuteMOdify(const std::string &cmd,
|
||||
std::stack<std::pair<std::string, std::string>> &login_stack);
|
||||
std::vector<std::string> ExecuteImport(const std::string &cmd,
|
||||
std::stack<std::pair<std::string, std::string>> &login_stack);
|
||||
std::vector<std::string> ExecuteShowFinance(
|
||||
const std::string &cmd, std::stack<std::pair<std::string, std::string>> &login_stack);
|
||||
std::vector<std::string> ExecuteLog(const std::string &cmd,
|
||||
std::stack<std::pair<std::string, std::string>> &login_stack);
|
||||
std::vector<std::string> ExecuteReport(const std::string &cmd,
|
||||
std::stack<std::pair<std::string, std::string>> &login_stack);
|
||||
};
|
||||
#endif // PROTECTOR_ENGINE_H
|
@ -4,7 +4,27 @@
|
||||
#include <sstream>
|
||||
#include <string>
|
||||
#include <vector>
|
||||
bool CommandSuLexer(const std::string &command, std::string &user_id,
|
||||
std::string &password);
|
||||
bool CommandLogoutLexer(const std::string &command);
|
||||
bool CommandRegisterLexer(const std::string &command, std::string &user_id,
|
||||
std::string &password, std::string &username);
|
||||
bool CommandPasswdLexer(const std::string &command, std::string &user_id,
|
||||
std::string &old_password, std::string &new_password);
|
||||
bool CommandUseraddLexer(const std::string &command, std::string &user_id,
|
||||
std::string &password, int &privilege,
|
||||
std::string &username);
|
||||
bool CommandDeleteLexer(const std::string &command, std::string &user_id);
|
||||
bool CommandShowLexer(const std::string &command, std::string &ISBN,
|
||||
std::string &name, std::string &author,
|
||||
std::string &keyword);
|
||||
bool CommandBuyLexer(const std::string &command, std::string &ISBN,
|
||||
int &quantity);
|
||||
bool CommandSelectLexer(const std::string &command, std::string &ISBN);
|
||||
bool CommandModifyLexer(const std::string &command, std::string &ISBN,
|
||||
std::string &name, std::string &author,
|
||||
std::string &keyword, double &price);
|
||||
bool CommandImportLexer(const std::string &command, int &quantity,
|
||||
double &total_cost);
|
||||
bool CommandShowfinanceLexer(const std::string &command,int &count);
|
||||
#endif // PROTECTOR_LEXER_H
|
Reference in New Issue
Block a user