54 lines
1.3 KiB
C++
54 lines
1.3 KiB
C++
#include <QCoreApplication>
|
|
#include <QRemoteObjectRegistryHost>
|
|
#include <QSettings>
|
|
#include <QFile>
|
|
#include <QString>
|
|
#include <QStringList>
|
|
#include <QScopedPointer>
|
|
|
|
|
|
#include "Service/ServiceStatus.h"
|
|
|
|
int main(int argc, char *argv[]) {
|
|
QCoreApplication a(argc, argv);
|
|
|
|
QScopedPointer<QSettings> settings(new QSettings);
|
|
|
|
do {
|
|
auto arguments = QCoreApplication::arguments();
|
|
//没有传入配置文件路径
|
|
if (arguments.size() < 2) {
|
|
break;
|
|
}
|
|
const auto &configFile = arguments.at(1);
|
|
//传入的路径文件不存在
|
|
if (!QFile::exists(configFile)) {
|
|
break;
|
|
}
|
|
|
|
settings.reset(
|
|
new QSettings(
|
|
configFile,
|
|
QSettings::IniFormat
|
|
)
|
|
);
|
|
} while (false);
|
|
|
|
//启动注册中心服务
|
|
QRemoteObjectRegistryHost registryHost(
|
|
QUrl(
|
|
settings->value(
|
|
"registry/url",
|
|
"tcp://*:7478"
|
|
).toString()
|
|
)
|
|
);
|
|
|
|
//服务状态监控服务
|
|
auto *serviceStatus = new ServiceStatus;
|
|
registryHost.enableRemoting(serviceStatus);
|
|
|
|
|
|
return QCoreApplication::exec();
|
|
}
|