'''
 Generated by EZX Code Generator  
Date: 04/18/22 
'''

from  iserver.enums.api import IserverMsgSubType


from .ForgotPasswordRequest import ForgotPasswordRequest
from .OrderInfoResponse import OrderInfoResponse
from .ClientOrderResponse import ClientOrderResponse
from .BroadcastResponse import BroadcastResponse
from .UpdatePosition import UpdatePosition
from .CreditUsedUpdate import CreditUsedUpdate
from .QuoteAccept import QuoteAccept
from .ParentOrderRequest import ParentOrderRequest
from .AllocationResponse import AllocationResponse
from .AllocationInfoRequest import AllocationInfoRequest
from .DestinationStatus import DestinationStatus
from .Reject import Reject
from .CreateGroupAccount import CreateGroupAccount
from .QuoteResponse import QuoteResponse
from .GetOrdersResponse import GetOrdersResponse
from .PositionResponse import PositionResponse
from .MarketDataSnapshot import MarketDataSnapshot
from .OrderRequestList import OrderRequestList
from .LogonResponse import LogonResponse
from .OrderRequest import OrderRequest
from .ExecutionResponse import ExecutionResponse
from .DeleteClientOrder import DeleteClientOrder
from .HeartBeatMsg import HeartBeatMsg
from .OrderInfoRequest import OrderInfoRequest
from .AdminResponse import AdminResponse
from .MarketDataIncremental import MarketDataIncremental
from .UpdateGroupSettings import UpdateGroupSettings
from .ChangePasswordResponse import ChangePasswordResponse
from .MarketDataHealthMessage import MarketDataHealthMessage
from .ReadGroupAccounts import ReadGroupAccounts
from .UpdateGroupName import UpdateGroupName
from .FixedIncomeMarketDataIncrementalRefresh import FixedIncomeMarketDataIncrementalRefresh
from .AllocationInfoResponse import AllocationInfoResponse
from .ExecutionRequest import ExecutionRequest
from .ClientSettingsUpdate import ClientSettingsUpdate
from .DeleteGroup import DeleteGroup
from .OMSSettings import OMSSettings
from .ChangePasswordRequest import ChangePasswordRequest
from .GetOrdersRequest import GetOrdersRequest
from .Broadcast import Broadcast
from .Logout import Logout
from .DeleteAccount import DeleteAccount
from .PairsSpreadOrderResponse import PairsSpreadOrderResponse
from .QuoteRequest import QuoteRequest
from .TestChildClass import TestChildClass
from .IOI import IOI
from .ClientOrderRequest import ClientOrderRequest
from .LogonRequest import LogonRequest
from .TestParentClass import TestParentClass
from .ParentOrderResponse import ParentOrderResponse
from .OrderResponse import OrderResponse
from .ForgotPasswordResponse import ForgotPasswordResponse
from .Quote import Quote
from .MoveAccount import MoveAccount
from .CompanySettingsUpdate import CompanySettingsUpdate
from .EngineStatus import EngineStatus
from .AllocationRequest import AllocationRequest
from .AdminCommand import AdminCommand
from .CancelAll import CancelAll
from .PairsSpreadOrder import PairsSpreadOrder
from .TagValueMsg import TagValueMsg

msgs_by_subtype = {
	IserverMsgSubType.FORGOTPASSWORD.value: ForgotPasswordRequest,
	IserverMsgSubType.ORDERINFO_RESPONSE.value: OrderInfoResponse,
	IserverMsgSubType.CLIENT_ORDER_RESPONSE.value: ClientOrderResponse,
	IserverMsgSubType.BROADCAST_RESPONSE.value: BroadcastResponse,
	IserverMsgSubType.UPDATE_POSITION.value: UpdatePosition,
	IserverMsgSubType.CREDIT_USED_UPDATE.value: CreditUsedUpdate,
	IserverMsgSubType.QUOTE_ACCEPT.value: QuoteAccept,
	IserverMsgSubType.PARENT_ORDER_REQUEST.value: ParentOrderRequest,
	IserverMsgSubType.ALLOCATION_RESPONSE.value: AllocationResponse,
	IserverMsgSubType.ALLOCINFO_REQUEST.value: AllocationInfoRequest,
	IserverMsgSubType.DESTINATION_STATUS.value: DestinationStatus,
	IserverMsgSubType.REJECT.value: Reject,
	IserverMsgSubType.CREATE_GROUP_ACCOUNT.value: CreateGroupAccount,
	IserverMsgSubType.QUOTE_RESPONSE.value: QuoteResponse,
	IserverMsgSubType.GET_ORDERS_RESPONSE.value: GetOrdersResponse,
	IserverMsgSubType.POSITION_RESPONSE.value: PositionResponse,
	IserverMsgSubType.MARKETDATASNAPSHOT.value: MarketDataSnapshot,
	IserverMsgSubType.ORDERREQUESTLIST.value: OrderRequestList,
	IserverMsgSubType.LOGONRESPONSE.value: LogonResponse,
	IserverMsgSubType.ORDER.value: OrderRequest,
	IserverMsgSubType.EXECUTION_RESPONSE.value: ExecutionResponse,
	IserverMsgSubType.DELETE_CLIENT_ORDER.value: DeleteClientOrder,
	IserverMsgSubType.HEARTBEAT.value: HeartBeatMsg,
	IserverMsgSubType.ORDERINFO_REQUEST.value: OrderInfoRequest,
	IserverMsgSubType.ADMIN_RESPONSE.value: AdminResponse,
	IserverMsgSubType.MARKETDATAINCREMENTAL.value: MarketDataIncremental,
	IserverMsgSubType.UPDATE_GROUP_SETTINGS.value: UpdateGroupSettings,
	IserverMsgSubType.CHANGEPASSWORD_RESPONSE.value: ChangePasswordResponse,
	IserverMsgSubType.MARKETDATA_HEALTH.value: MarketDataHealthMessage,
	IserverMsgSubType.READ_GROUP_ACCOUNTS.value: ReadGroupAccounts,
	IserverMsgSubType.UPDATE_GROUP_NAME.value: UpdateGroupName,
	IserverMsgSubType.FIXEDINCOMEMARKETDATAINCREMENTAL.value: FixedIncomeMarketDataIncrementalRefresh,
	IserverMsgSubType.ALLOCINFO_RESPONSE.value: AllocationInfoResponse,
	IserverMsgSubType.EXECUTION_REQUEST.value: ExecutionRequest,
	IserverMsgSubType.CLIENT_SETTINGS_UPDATE.value: ClientSettingsUpdate,
	IserverMsgSubType.DELETE_GROUP.value: DeleteGroup,
	IserverMsgSubType.OMSSETTINGS.value: OMSSettings,
	IserverMsgSubType.CHANGEPASSWORD.value: ChangePasswordRequest,
	IserverMsgSubType.GET_ORDERS_REQUEST.value: GetOrdersRequest,
	IserverMsgSubType.BROADCAST.value: Broadcast,
	IserverMsgSubType.LOGOUT.value: Logout,
	IserverMsgSubType.DELETE_ACCOUNT.value: DeleteAccount,
	IserverMsgSubType.PAIRS_SPREAD_ORDER_RESPONSE.value: PairsSpreadOrderResponse,
	IserverMsgSubType.QUOTE_REQUEST.value: QuoteRequest,
	IserverMsgSubType.TEST_CHILD_CLASS.value: TestChildClass,
	IserverMsgSubType.IOI.value: IOI,
	IserverMsgSubType.CLIENT_ORDER_REQUEST.value: ClientOrderRequest,
	IserverMsgSubType.LOGON.value: LogonRequest,
	IserverMsgSubType.TEST_PARENT_CLASS.value: TestParentClass,
	IserverMsgSubType.PARENT_ORDER_RESPONSE.value: ParentOrderResponse,
	IserverMsgSubType.ORDERRESPONSE.value: OrderResponse,
	IserverMsgSubType.FORGOTPASSWORD_RESPONSE.value: ForgotPasswordResponse,
	IserverMsgSubType.QUOTE.value: Quote,
	IserverMsgSubType.MOVE_ACCOUNT.value: MoveAccount,
	IserverMsgSubType.COMPANY_SETTINGS_UPDATE.value: CompanySettingsUpdate,
	IserverMsgSubType.STATUS.value: EngineStatus,
	IserverMsgSubType.ALLOCATION_REQUEST.value: AllocationRequest,
	IserverMsgSubType.ADMIN_COMMAND.value: AdminCommand,
	IserverMsgSubType.CANCEL_ALL.value: CancelAll,
	IserverMsgSubType.PAIRS_SPREAD_ORDER.value: PairsSpreadOrder,
}


from .Destination import Destination
from .BondExecutionStatus import BondExecutionStatus
from .GroupAccount import GroupAccount
from .ChoiceGroup import ChoiceGroup
from .RegisteredRep import RegisteredRep
from .ChoiceItem import ChoiceItem
from .Properties import Properties
from .OrderStatus import OrderStatus
from .AllocationRequestInfo import AllocationRequestInfo
from .ExecutionStatus import ExecutionStatus
from .OrderRequestInfo import OrderRequestInfo
from .AllocAccountInfo import AllocAccountInfo
from .ClientOrderRequestInfo import ClientOrderRequestInfo
from .ParentOrderStatus import ParentOrderStatus
from .AllocationRequestStatus import AllocationRequestStatus
from .AllocInfo import AllocInfo
from .Settings import Settings
from .PartiesStatus import PartiesStatus
from .AccountInfo import AccountInfo
from .YieldData import YieldData
from .GroupAccountChange import GroupAccountChange
from .AllocationStatus import AllocationStatus
from .OrderRequestStatus import OrderRequestStatus
from .IncrementalMdEntries import IncrementalMdEntries
from .ClientOrderStatus import ClientOrderStatus
from .StrategyInfo import StrategyInfo
from .UpDown import UpDown
from .QuoteRecord import QuoteRecord
from .OfficeGroupClient import OfficeGroupClient
from .Strategy import Strategy
from .RiskProfile import RiskProfile
from .TraderList import TraderList
from .SnapshotMdEntries import SnapshotMdEntries
from .TradeUser import TradeUser


msgs_by_block_tag = {
	'DESTSTRATBL': Destination,
	'BEB': BondExecutionStatus,
	'GRPACC': GroupAccount,
	'CHOGBLK': ChoiceGroup,
	'REGREP': RegisteredRep,
	'CHOIBLK': ChoiceItem,
	'PRPSBLK': Properties,
	'OB': OrderStatus,
	'ALLOCREQBLOCK': AllocationRequestInfo,
	'EB': ExecutionStatus,
	'ORB': OrderRequestInfo,
	'ALLOCABLK': AllocAccountInfo,
	'CORDREQBLOCK': ClientOrderRequestInfo,
	'PB': ParentOrderStatus,
	'ALLOCREQSB': AllocationRequestStatus,
	'ALLOCINFO': AllocInfo,
	'SETTBLK': Settings,
	'PRTS': PartiesStatus,
	'ACCTINFO': AccountInfo,
	'YDB': YieldData,
	'GRPACCEDT': GroupAccountChange,
	'ALLOCSTATBLOCK': AllocationStatus,
	'ORSB': OrderRequestStatus,
	'INCREMENTALMDENTRIESBLOCK': IncrementalMdEntries,
	'CORDSTATBLOCK': ClientOrderStatus,
	'STGBLK': StrategyInfo,
	'UPDWNBLK': UpDown,
	'QUOTE': QuoteRecord,
	'OGCBLK': OfficeGroupClient,
	'STGBLK': Strategy,
	'RISKPROFILE': RiskProfile,
	'TRLST': TraderList,
	'SNAPSHOTMDENTRIESBLOCK': SnapshotMdEntries,
	'TRDUSER': TradeUser,
	'STRATTVS': TagValueMsg,
	'STRATDEFTVS': TagValueMsg,
	'STRATSETTVS': TagValueMsg,
}


block_tag_collisions = {
	'STGBLK' : {
		ClientOrderRequest: StrategyInfo,
		ClientOrderResponse: StrategyInfo,
		Destination: Strategy,
		OrderRequestInfo: StrategyInfo,
		OrderResponse: StrategyInfo,
	}

}
