mirror of
https://github.com/MatsuriDayo/nekoray.git
synced 2025-12-17 20:44:38 +03:00
49 lines
1.3 KiB
C++
49 lines
1.3 KiB
C++
#pragma once
|
|
|
|
#include "ProxyEntity.hpp"
|
|
#include "sys/ExternalProcess.hpp"
|
|
|
|
namespace NekoRay {
|
|
class BuildConfigResult {
|
|
public:
|
|
QString error;
|
|
QJsonObject coreConfig;
|
|
QStringList tryDomains;
|
|
|
|
QList<QSharedPointer<traffic::TrafficData>> outboundStats; // all, but not including "bypass" "block"
|
|
QSharedPointer<traffic::TrafficData> outboundStat; // main
|
|
|
|
QList<sys::ExternalProcess *> ext;
|
|
};
|
|
|
|
class BuildConfigStatus {
|
|
public:
|
|
QSharedPointer<BuildConfigResult> result;
|
|
|
|
QJsonArray domainListDNSRemote;
|
|
QJsonArray domainListDNSDirect;
|
|
QJsonArray domainListRemote;
|
|
QJsonArray domainListDirect;
|
|
QJsonArray ipListRemote;
|
|
QJsonArray ipListDirect;
|
|
|
|
QJsonArray domainListBlock;
|
|
QJsonArray ipListBlock;
|
|
|
|
QJsonArray routingRules;
|
|
QJsonObject hosts;
|
|
|
|
QJsonArray inbounds;
|
|
QJsonArray outbounds;
|
|
|
|
QList<int> globalProfiles;
|
|
|
|
ProxyEntity *currentEnt;
|
|
};
|
|
|
|
QSharedPointer<BuildConfigResult> BuildConfig(const QSharedPointer<ProxyEntity> &ent, bool forTest);
|
|
|
|
QString BuildChain(int chainId, const QList<QSharedPointer<ProxyEntity>> &ents,
|
|
const QSharedPointer<BuildConfigStatus> &status);
|
|
}
|