mirror of
https://github.com/Qv2ray/Qv2ray.git
synced 2025-05-20 10:50:23 +08:00
44 lines
1.0 KiB
C++
44 lines
1.0 KiB
C++
#pragma once
|
|
|
|
#include "CoreObjectModels.hpp"
|
|
#include "QvConfigIdentifier.hpp"
|
|
|
|
namespace Qv2ray::base::objects::complex
|
|
{
|
|
enum OutboundObjectMode
|
|
{
|
|
MODE_CONNECTIONID,
|
|
MODE_JSON
|
|
};
|
|
|
|
struct OutboundObject
|
|
{
|
|
QString tag;
|
|
OutboundObjectMode mode;
|
|
ConnectionId connectionId;
|
|
QJsonObject json;
|
|
JSONSTRUCT_REGISTER(OutboundObject, F(tag, mode, connectionId, json))
|
|
};
|
|
|
|
enum MetaOutboundObjectType
|
|
{
|
|
METAOUTBOUND_ORIGINAL,
|
|
METAOUTBOUND_BALANCER,
|
|
METAOUTBOUND_CHAINED
|
|
};
|
|
|
|
struct OutboundObjectMeta
|
|
{
|
|
MetaOutboundObjectType metaType;
|
|
OutboundObject object;
|
|
JSONSTRUCT_REGISTER(OutboundObjectMeta, F(metaType, object))
|
|
};
|
|
|
|
class __ChainID;
|
|
class __BalancerID;
|
|
typedef IDType<__ChainID> ChainID;
|
|
typedef IDType<__BalancerID> BalancerID;
|
|
typedef QList<OutboundObject> ChainObject;
|
|
typedef BalancerObject BalancerObject;
|
|
} // namespace Qv2ray::base::objects::complex
|