#pragma once #include "ProxyEntity.hpp" #include "sys/ExternalProcess.hpp" namespace NekoRay { class BuildConfigResult { public: QString error; QJsonObject coreConfig; QStringList tryDomains; QList> outboundStats; // all, but not including "bypass" "block" QSharedPointer outboundStat; // main QList ext; }; class BuildConfigStatus { public: QSharedPointer 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 globalProfiles; ProxyEntity *currentEnt; }; QSharedPointer BuildConfig(const QSharedPointer &ent, bool forTest); QString BuildChain(int chainId, const QList> &ents, const QSharedPointer &status); }