import sys, os, clr
from enum import Enum

assembly_path = os.path.dirname(__file__)
sys.path.append(assembly_path)
clr.AddReference("TradeCom")     #必要引用dll

from Intelligence import DT as _DT

#自動產出Enum
"""for key in _DT.__dict__.keys():
    value = _DT.__dict__.get(key)
    if 'Intelligence.DT' in str(value) and "__" not in key:
        print("{key} = int(_DT.{key})".format(key=key))"""

class DT(Enum):
    MESSAGE_MAP = int(_DT.MESSAGE_MAP)
    BROKER_MAP = int(_DT.BROKER_MAP)
    BROKER_NAME = int(_DT.BROKER_NAME)
    AP_VERSION = int(_DT.AP_VERSION)
    LOGIN = int(_DT.LOGIN)
    AUTH_EXCHANGE = int(_DT.AUTH_EXCHANGE)
    PreviousLogin = int(_DT.PreviousLogin)
    LOGIN_AGENT = int(_DT.LOGIN_AGENT)
    CUSTOMER_AGENT = int(_DT.CUSTOMER_AGENT)
    HK_CHANGE_PWD = int(_DT.HK_CHANGE_PWD)
    INVENTORY_YESTERDAY = int(_DT.INVENTORY_YESTERDAY)
    FINANCIAL = int(_DT.FINANCIAL)
    INVENTORY = int(_DT.INVENTORY)
    INVENTORY_DETAIL = int(_DT.INVENTORY_DETAIL)
    FINANCIAL_COVER = int(_DT.FINANCIAL_COVER)
    FINANCIAL_COVER_TRADER = int(_DT.FINANCIAL_COVER_TRADER)
    INVENTORY_DETAIL_TRADER = int(_DT.INVENTORY_DETAIL_TRADER)
    INVENTORY_TRADER = int(_DT.INVENTORY_TRADER)
    FINANCIAL_TRADERN = int(_DT.FINANCIAL_TRADERN)
    FINANCIAL_TRADERNN = int(_DT.FINANCIAL_TRADERNN)
    FINANCIAL_STRIKE = int(_DT.FINANCIAL_STRIKE)
    FINANCIAL_COVERDH = int(_DT.FINANCIAL_COVERDH)
    FINANCIAL_RECIPROCATE = int(_DT.FINANCIAL_RECIPROCATE)
    FINANCIAL_CURRENCY = int(_DT.FINANCIAL_CURRENCY)
    FINANCIAL_SERVICECHARGE = int(_DT.FINANCIAL_SERVICECHARGE)
    FINANCIAL_TPASS = int(_DT.FINANCIAL_TPASS)
    FINANCIAL_APPLYWITHDRAW = int(_DT.FINANCIAL_APPLYWITHDRAW)
    FINANCIAL_APPLYWITHDRAW_PWD = int(_DT.FINANCIAL_APPLYWITHDRAW_PWD)
    FINANCIAL_WITHDRAW = int(_DT.FINANCIAL_WITHDRAW)
    NOTICE_RPT = int(_DT.NOTICE_RPT)
    NOTICE = int(_DT.NOTICE)
    INVENTORY_YESTERDAY_Detail = int(_DT.INVENTORY_YESTERDAY_Detail)
    FINANCIAL_COVER_TRADER_Detail = int(_DT.FINANCIAL_COVER_TRADER_Detail)
    FUT_PRODUCT_INFO = int(_DT.FUT_PRODUCT_INFO)
    FUT_ORDER_ACK = int(_DT.FUT_ORDER_ACK)
    FINCIAL_ORDER_RCV = int(_DT.FINCIAL_ORDER_RCV)
    FUT_ORDER_ACK_AGENT = int(_DT.FUT_ORDER_ACK_AGENT)
    FUT_ORDDER_CHANGE_ACK = int(_DT.FUT_ORDDER_CHANGE_ACK)
    FUT_ORDER_RPT = int(_DT.FUT_ORDER_RPT)
    FUT_ORDER_RPT_K = int(_DT.FUT_ORDER_RPT_K)
    FUT_DEAL_RPT = int(_DT.FUT_DEAL_RPT)
    FUT_DEAL_RPT_K = int(_DT.FUT_DEAL_RPT_K)
    FUT_RPT_RECOVER = int(_DT.FUT_RPT_RECOVER)
    FUT_RPT_RECOVER_TRADER = int(_DT.FUT_RPT_RECOVER_TRADER)
    FUT_RPT_RECOVER_AGENT = int(_DT.FUT_RPT_RECOVER_AGENT)
    FUT_RPT_RECOVER_KTR = int(_DT.FUT_RPT_RECOVER_KTR)
    FFUT_ORDER_ACK = int(_DT.FFUT_ORDER_ACK)
    FFUT_ORDER_ACK2 = int(_DT.FFUT_ORDER_ACK2)
    FFUT_ORDER_RPT = int(_DT.FFUT_ORDER_RPT)
    FFUT_DEAL_RPT = int(_DT.FFUT_DEAL_RPT)
    FFUT_ORDER_RECOVER = int(_DT.FFUT_ORDER_RECOVER)
    FFUT_GTC_RPT = int(_DT.FFUT_GTC_RPT)
    CONDITION_SET = int(_DT.CONDITION_SET)
    CONDITION_MOD = int(_DT.CONDITION_MOD)
    CONDITION_QRY = int(_DT.CONDITION_QRY)
    CONDITION_NOTIFY = int(_DT.CONDITION_NOTIFY)
    SECU_ORDER_ACK = int(_DT.SECU_ORDER_ACK)
    SECU_ORDER_RPT = int(_DT.SECU_ORDER_RPT)
    SECU_DEAL_RPT = int(_DT.SECU_DEAL_RPT)
    SECU_RPT_RECOVER = int(_DT.SECU_RPT_RECOVER)
    SECU_ORDER_ACK_N = int(_DT.SECU_ORDER_ACK_N)
    SECU_SUBORDER_ACK = int(_DT.SECU_SUBORDER_ACK)
    SECU_SUBORDER_RPT = int(_DT.SECU_SUBORDER_RPT)
    SECU_SUBDEAL_RPT = int(_DT.SECU_SUBDEAL_RPT)
    FINANCIAL_RCORDER = int(_DT.FINANCIAL_RCORDER)
    FINANCIAL_RCMATCHSUM = int(_DT.FINANCIAL_RCMATCHSUM)
    FINANCIAL_RCMATCHDETAIL = int(_DT.FINANCIAL_RCMATCHDETAIL)
    FINANCIAL_RCPOSITIONSUM = int(_DT.FINANCIAL_RCPOSITIONSUM)
    FINANCIAL_RCCURRENCY = int(_DT.FINANCIAL_RCCURRENCY)
    FINANCIAL_RCSTOCKPOSITION = int(_DT.FINANCIAL_RCSTOCKPOSITION)
    FINANCIAL_RCDELIVERY = int(_DT.FINANCIAL_RCDELIVERY)
    FINANCIAL_WSSETAMTTRIAL = int(_DT.FINANCIAL_WSSETAMTTRIAL)
    FINANCIAL_WSSETAMTDETAIL = int(_DT.FINANCIAL_WSSETAMTDETAIL)
    FINANCIAL_WSSETTLEAMT = int(_DT.FINANCIAL_WSSETTLEAMT)
    FINANCIAL_WSINVENTORY = int(_DT.FINANCIAL_WSINVENTORY)
    FINANCIAL_WSINVENTORYSUM = int(_DT.FINANCIAL_WSINVENTORYSUM)
    FINANCIAL_WSBALANCESTATEMENT = int(_DT.FINANCIAL_WSBALANCESTATEMENT)
    FINANCIAL_WSREALIZEPL = int(_DT.FINANCIAL_WSREALIZEPL)
    SECU_CREDITINFO = int(_DT.SECU_CREDITINFO)
    SECU_EARMARK_SET = int(_DT.SECU_EARMARK_SET)
    SECU_ALLOWANCE_RPT = int(_DT.SECU_ALLOWANCE_RPT)
    SECU_ALLOWANCE = int(_DT.SECU_ALLOWANCE)
    SECU_TRANSFER_APPLY = int(_DT.SECU_TRANSFER_APPLY)
    SECU_TRANSFER_QRY = int(_DT.SECU_TRANSFER_QRY)
    SECU_TRANSFER_INV = int(_DT.SECU_TRANSFER_INV)
    # QUOTE_BASE_P08 = int(_DT.QUOTE_BASE_P08)
    # QUOTE_BASE_P08_PM = int(_DT.QUOTE_BASE_P08_PM)
    QUOTE_CLOSE_I070 = int(_DT.QUOTE_CLOSE_I070)
    QUOTE_I020 = int(_DT.QUOTE_I020)
    QUOTE_I024 = int(_DT.QUOTE_I024)
    QUOTE_I022 = int(_DT.QUOTE_I022)
    QUOTE_I021 = int(_DT.QUOTE_I021)
    QUOTE_I023 = int(_DT.QUOTE_I023)
    QUOTE_I030 = int(_DT.QUOTE_I030)
    QUOTE_I060 = int(_DT.QUOTE_I060)
    QUOTE_I080 = int(_DT.QUOTE_I080)
    QUOTE_I081 = int(_DT.QUOTE_I081)
    QUOTE_I090 = int(_DT.QUOTE_I090)
    QUOTE_I082 = int(_DT.QUOTE_I082)
    QUOTE_LAST_PRICE = int(_DT.QUOTE_LAST_PRICE)
    QUOTE_INFO = int(_DT.QUOTE_INFO)
    QUOTE_SESSION = int(_DT.QUOTE_SESSION)
    QUOTE_I101 = int(_DT.QUOTE_I101)
    QUOTE_STOCK_T30 = int(_DT.QUOTE_STOCK_T30)
    QUOTE_STOCK_MATCH1 = int(_DT.QUOTE_STOCK_MATCH1)
    QUOTE_STOCK_MATCH2 = int(_DT.QUOTE_STOCK_MATCH2)
    QUOTE_STOCK_DEPTH1 = int(_DT.QUOTE_STOCK_DEPTH1)
    QUOTE_STOCK_DEPTH2 = int(_DT.QUOTE_STOCK_DEPTH2)
    QUOTE_ODD_MATCH1 = int(_DT.QUOTE_ODD_MATCH1)
    QUOTE_ODD_MATCH2 = int(_DT.QUOTE_ODD_MATCH2)
    QUOTE_ODD_DEPTH1 = int(_DT.QUOTE_ODD_DEPTH1)
    QUOTE_ODD_DEPTH2 = int(_DT.QUOTE_ODD_DEPTH2)
    QUOTE_LAST_PRICE_ODD = int(_DT.QUOTE_LAST_PRICE_ODD)
    QUOTE_STOCK_TREND1 = int(_DT.QUOTE_STOCK_TREND1)
    QUOTE_STOCK_TREND2 = int(_DT.QUOTE_STOCK_TREND2)
    QUOTE_ODD_TREND1 = int(_DT.QUOTE_ODD_TREND1)
    QUOTE_ODD_TREND2 = int(_DT.QUOTE_ODD_TREND2)
    QUOTE_STOCK_INDEX1 = int(_DT.QUOTE_STOCK_INDEX1)
    QUOTE_STOCK_INDEX2 = int(_DT.QUOTE_STOCK_INDEX2)
    QUOTE_STOCK_NEWINDEX1 = int(_DT.QUOTE_STOCK_NEWINDEX1)
    QUOTE_STOCK_NEWINDEX2 = int(_DT.QUOTE_STOCK_NEWINDEX2)
    QUOTE_STOCK_ORDSUM1 = int(_DT.QUOTE_STOCK_ORDSUM1)
    QUOTE_STOCK_ORDSUM2 = int(_DT.QUOTE_STOCK_ORDSUM2)
    QUOTE_STOCK_AVGINDEX = int(_DT.QUOTE_STOCK_AVGINDEX)
    QUOTE_LAST_INDEX1 = int(_DT.QUOTE_LAST_INDEX1)
    QUOTE_LAST_INDEX2 = int(_DT.QUOTE_LAST_INDEX2)
    QUOTE_LAST_PRICE_STOCK = int(_DT.QUOTE_LAST_PRICE_STOCK)
    QUOTE_STOCK_RECOVERY = int(_DT.QUOTE_STOCK_RECOVERY)
    QUOTE_STOCK_MATCH3 = int(_DT.QUOTE_STOCK_MATCH3)
    FFUT_ORDER_RPT2 = int(_DT.FFUT_ORDER_RPT2)
    FFUT_DEAL_RPT2 = int(_DT.FFUT_DEAL_RPT2)
    FFUT_KRPT_RECOVER3 = int(_DT.FFUT_KRPT_RECOVER3)
    FFUT_RPT_RECOVER3 = int(_DT.FFUT_RPT_RECOVER3)
    FFUT_ORDER_RPT3 = int(_DT.FFUT_ORDER_RPT3)
    FFUT_DEAL_RPT3 = int(_DT.FFUT_DEAL_RPT3)
    KTRADER_CDAUTHORITY = int(_DT.KTRADER_CDAUTHORITY)
    FFUT_RPT_RECOVER = int(_DT.FFUT_RPT_RECOVER)
    FFUT_RPT_RECOVER_TRADER = int(_DT.FFUT_RPT_RECOVER_TRADER)
    FFUT_RPT_RECOVER_SPREAD = int(_DT.FFUT_RPT_RECOVER_SPREAD)
    FFUT_RPT_RECOVER_TRADER_SPREAD = int(_DT.FFUT_RPT_RECOVER_TRADER_SPREAD)
    AES_TEST = int(_DT.AES_TEST)
    QUOTE_I080_RECOVER = int(_DT.QUOTE_I080_RECOVER)
    QUOTE_I020_RECOVER = int(_DT.QUOTE_I020_RECOVER)
    QUOTE_RECOVER = int(_DT.QUOTE_RECOVER)
    QUOTE_FOREIGN_PRECOVER = int(_DT.QUOTE_FOREIGN_PRECOVER)
    QUOTE_FOREIGN_PRODUCT = int(_DT.QUOTE_FOREIGN_PRODUCT)
    QUOTE_FOREIGN_SESSION_STATUS = int(_DT.QUOTE_FOREIGN_SESSION_STATUS)
    QUOTE_FOREIGN_MATCH = int(_DT.QUOTE_FOREIGN_MATCH)
    QUOTE_FOREIGN_CLOSEINFO = int(_DT.QUOTE_FOREIGN_CLOSEINFO)
    QUOTE_FOREIGN_SETTLEMENTPRICE = int(_DT.QUOTE_FOREIGN_SETTLEMENTPRICE)
    QUOTE_FOREIGN_TOTALQTY = int(_DT.QUOTE_FOREIGN_TOTALQTY)
    QUOTE_FOREIGN_INDEX = int(_DT.QUOTE_FOREIGN_INDEX)
    QUOTE_FOREIGN_DEPTH = int(_DT.QUOTE_FOREIGN_DEPTH)
    QUOTE_FOREIGN_DEPTH_SS = int(_DT.QUOTE_FOREIGN_DEPTH_SS)
    QUOTE_FOREIGN_LASTPRICE = int(_DT.QUOTE_FOREIGN_LASTPRICE)
    SSO_TRUSTCODE = int(_DT.SSO_TRUSTCODE)