2025-09-14 14:51:38 +08:00

60 lines
1.9 KiB
C++
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#include <iostream>
#include <QCoreApplication>
#include <QDir>
#include <QFile>
#include "BeltTearingPresenter.h"
#include "PathManager.h"
#include "version.h"
#include "VrLog.h"
int main(int argc, char *argv[])
{
QCoreApplication app(argc, argv);
// 设置应用程序信息
app.setApplicationName(BELT_TEARING_SERVER_PRODUCT_NAME);
app.setApplicationVersion(BELT_TEARING_SERVER_VERSION_STRING);
app.setOrganizationName(BELT_TEARING_SERVER_COMPANY_NAME);
// 打印启动横幅
LOG_DEBUG("===========================================\n");
LOG_INFO(" %s\n", BELT_TEARING_SERVER_PRODUCT_NAME);
LOG_INFO(" %s\n", BELT_TEARING_SERVER_DESCRIPTION);
LOG_INFO(" %s\n", BELT_TEARING_SERVER_COPYRIGHT);
LOG_DEBUG("===========================================\n");
// 创建并初始化Presenter
BeltTearingPresenter presenter;
// 获取配置文件路径
QString configFilePath = PathManager::GetConfigFilePath();
// 加载配置文件
if (!presenter.loadConfiguration(configFilePath)) {
LOG_WARN("Warning: Failed to load configuration file. Using default settings.\n");
LOG_INFO("Config file location: %s\n", configFilePath.toStdString().c_str());
}
// 启动TCP服务器使用配置文件中的端口如果配置加载失败则使用默认端口
quint16 serverPort = presenter.getServerPort();
if (serverPort == 0) {
serverPort = 5900; // 默认端口
}
if (!presenter.startServer(serverPort)) {
LOG_ERROR("Failed to start server on port %d\n", serverPort);
return -1;
}
// 启动相机
presenter.startCamera();
// 输出系统信息
LOG_INFO("=== BeltTearing Server Started ===\n");
LOG_DEBUG("===================================\n");
LOG_INFO("Server is running. Press Ctrl+C to exit.\n");
return app.exec();
}