12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788 |
- #include <QCoreApplication>
- #include "LHLogInit.h"
- #include "LHQLogAPI.h"
- #include "spdlog/spdlog.h"
- #include "ThreadPool.h"
- #include "LHCompareAPI.h"
- #include "signalstats.h"
- #include "ACAServer.h"
- #include "singleapplication.h"
- #include <QDir>
- #include <QFile>
- int main(int argc, char* argv[])
- {
- QCoreApplication a(argc, argv);
- /* 初始化日志库 */
- initLog("ACAServer", g_apiLhQLog);
- auto logger = spdlog::get("main");
- if(logger == nullptr)
- {
- fmt::print("main logger is nullptr");
- return -1;
- }
- /* 检查是否已经有实例在运行 */
- SingleApplication app(argc, argv);
- if(app.isRunning())
- {
- SPDLOG_LOGGER_WARN(logger, "ACAServer 已经有一个实例在运行,无法启动新的实例");
- return 0;
- }
- SPDLOG_LOGGER_INFO(logger, "★ ★ ★ ★ ★ ★ ★ ☆ ACAServer ☆ ★ ★ ★ ★ ★ ★ ★");
- SPDLOG_LOGGER_INFO(logger, "ACServer Version: {}", "6.0.0.4");
- /* 设置线程池最大线程个数 */
- CPPTP.setThreadMaxNum(1024);
- /* 加载第三方库 */
- /* 加载一致性比对动态库 */
- if(LoadCompareLibrary())
- {
- SPDLOG_INFO("一致性对比动态库加载成功!");
- }else {
- SPDLOG_ERROR("一致性对比动态库加载失败!");
- }
- SPDLOG_LOGGER_DEBUG(logger, "☆ 初始化噪音检测服务");
- /* 初始化噪音检测功能 */
- signalstats::initialize(false);
- SPDLOG_LOGGER_DEBUG(logger, "★ 噪音检测服务初始化完成");
- ACAServer acas;
- /* 初始化一些系统信息 */
- if(!acas.initGlobalInfo())
- {
- SPDLOG_LOGGER_ERROR(logger, "ACAServer 初始化失败! 即将退出程序");
- return -1;
- }
- /* 启动服务 */
- if(acas.startService())
- {
- SPDLOG_LOGGER_INFO(logger, "ACAServer 服务启动成功");
- } else
- {
- SPDLOG_LOGGER_ERROR(logger, "ACAServer 服务启动失败");
- return -1;
- }
- int result = a.exec();
- signalstats::finalize(); // 结束噪音检测服务
- SPDLOG_LOGGER_INFO(logger, "ACAServer 结束运行");
- return result;
- }
|