GrpcPrint/PrintS/main.cpp

79 lines
1.6 KiB
C++

#include "DataManage/DataHandle.h"
#include "global.h"
#include "SystemInfo.h"
#include "Logger.h"
#include "Toast.h"
#include <iostream>
#include <map>
UserType g_Admin;
string g_AppPath;
string g_AppDisk;
Logger* g_log;
LanguageManager* g_LngManager;
Toast* g_Toast;
bool g_isDebug;
uint32_t g_ScanSerial;
string g_gno;
SystemInfo* g_SystemInfo;
class HBDSystem {
public:
HBDSystem() {}
~HBDSystem() {
DELP(g_log);
DELP(g_SystemInfo);
DELP(g_Toast);
DELP(g_LngManager);
}
void Init(){
char szFilePath[MAX_PATH + 1] = { 0 };
GetModuleFileName(NULL, szFilePath, MAX_PATH);
(strrchr(szFilePath, '\\'))[1] = 0;
g_AppPath = szFilePath;
g_AppDisk = g_AppPath.substr(0, 2);
g_Admin = ADMIN;
g_isDebug = false;
g_log = new Logger();
g_log->m_LogDao->Init();
g_SystemInfo = new SystemInfo();
g_Toast = new Toast();
}
};
int main(int argc, char** argv) {
HBDSystem* hbd = new HBDSystem();
hbd->Init();
DataHandle* dataHandle = new DataHandle();
dataHandle->Init();
printf("服务器已启动,请输入命令:");
std::string userInput;
while (true) {
std::getline(std::cin, userInput); // 读取用户输入
//std::cin.ignore(std::numeric_limits<std::streamsize>::max(), '\n');// 清除输入缓冲区中的多余字符
if (userInput == "r" || userInput == "run") {
printf("service is running...\n");
dataHandle->Run();
}
else if (userInput == "exit" || userInput == "e") {
dataHandle->Stop();
DELP(dataHandle);
printf("service is exited...\n");
break;
}
else {
std::cout << "未识别的命令,请重新输入。" << std::endl;
}
}
DELP(dataHandle);
DELP(hbd);
return 0;
}