# -*- coding: utf-8 -*-
# Generated by the protocol buffer compiler.  DO NOT EDIT!
# NO CHECKED-IN PROTOBUF GENCODE
# source: xcapi/xray/proxy/shadowsocks/config.proto
"""Generated protocol buffer code."""
from google.protobuf import descriptor as _descriptor
from google.protobuf import descriptor_pool as _descriptor_pool
from google.protobuf import symbol_database as _symbol_database
from google.protobuf.internal import builder as _builder
from typing import Optional, List
from dataclasses import dataclass
from xcapi.model import ClassMeta
from enum import Enum
from xcapi.xray.common.protocol.user_pb import User
from xcapi.xray.common.net.network_pb import Network
from xcapi.xray.common.protocol.server_spec_pb import ServerEndpoint


class CipherType(Enum):
    UNKNOWN: int = 0
    AES_128_GCM: int = 5
    AES_256_GCM: int = 6
    CHACHA20_POLY1305: int = 7
    XCHACHA20_POLY1305: int = 8
    NONE: int = 9


@dataclass
class Account(ClassMeta):
    password: Optional[str] = None
    cipher_type: Optional[CipherType] = None
    iv_check: Optional[bool] = None


@dataclass
class ServerConfig(ClassMeta):
    users: Optional[List[User]] = None
    network: Optional[List[Network]] = None


@dataclass
class ClientConfig(ClassMeta):
    server: Optional[List[ServerEndpoint]] = None


_sym_db = _symbol_database.Default()

DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(
    b'\n)xcapi/xray/proxy/shadowsocks/config.proto\x12\x16xray.proxy.shadowsocks\x1a#xcapi/xray/common/net/network.proto\x1a%xcapi/xray/common/protocol/user.proto\x1a,xcapi/xray/common/protocol/server_spec.proto\"f\n\x07\x41\x63\x63ount\x12\x10\n\x08password\x18\x01 \x01(\t\x12\x37\n\x0b\x63ipher_type\x18\x02 \x01(\x0e\x32\".xray.proxy.shadowsocks.CipherType\x12\x10\n\x08iv_check\x18\x03 \x01(\x08\"d\n\x0cServerConfig\x12)\n\x05users\x18\x01 \x03(\x0b\x32\x1a.xray.common.protocol.User\x12)\n\x07network\x18\x02 \x03(\x0e\x32\x18.xray.common.net.Network\"D\n\x0c\x43lientConfig\x12\x34\n\x06server\x18\x01 \x03(\x0b\x32$.xray.common.protocol.ServerEndpoint*t\n\nCipherType\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x0f\n\x0b\x41\x45S_128_GCM\x10\x05\x12\x0f\n\x0b\x41\x45S_256_GCM\x10\x06\x12\x15\n\x11\x43HACHA20_POLY1305\x10\x07\x12\x16\n\x12XCHACHA20_POLY1305\x10\x08\x12\x08\n\x04NONE\x10\tb\x06proto3')

_globals = globals()
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'xcapi.xray.proxy.shadowsocks.config_pb', _globals)
if not _descriptor._USE_C_DESCRIPTORS:
    DESCRIPTOR._loaded_options = None
    _globals['_CIPHERTYPE']._serialized_start = 467
    _globals['_CIPHERTYPE']._serialized_end = 583
    _globals['_ACCOUNT']._serialized_start = 191
    _globals['_ACCOUNT']._serialized_end = 293
    _globals['_SERVERCONFIG']._serialized_start = 295
    _globals['_SERVERCONFIG']._serialized_end = 395
    _globals['_CLIENTCONFIG']._serialized_start = 397
    _globals['_CLIENTCONFIG']._serialized_end = 465
