Exemplo n.º 1
0
        private void ProcessConnectionStatus(ref ResponseData data)
        {
            var status = (ConnectionStatus)data.Double1;

            switch (status)
            {
            case ConnectionStatus.Disconnected:
            case ConnectionStatus.Uninitialized:
                Connected = false;
                break;

            case ConnectionStatus.Done:
                Connected = true;
                Resubscribe();
                break;
            }

            if (data.Size1 > 0)
            {
                var field = PInvokeUtility.PtrToStruct <InternalRspUserLoginField>(data.Ptr1);
                UserLogin = new RspUserLoginField(field);
            }
            _spi.ProcessConnectionStatus(status, UserLogin);
        }
Exemplo n.º 2
0
        private void ProcessQryPosition(ref ResponseData data)
        {
            var field = PInvokeUtility.PtrToStruct <PositionField>(data.Ptr1);

            _spi.ProcessQryPosition(field, Math.Abs(data.Double1) > double.Epsilon);
        }
Exemplo n.º 3
0
        private void ProcessLog(ref ResponseData data)
        {
            var field = PInvokeUtility.PtrToStruct <InternalLogField>(data.Ptr1);

            _spi.ProcessLog(new LogField(field));
        }
Exemplo n.º 4
0
        private void ProcessRtnTrade(ref ResponseData data)
        {
            var field = PInvokeUtility.PtrToStruct <TradeField>(data.Ptr1);

            _spi.ProcessRtnTrade(field);
        }
Exemplo n.º 5
0
        private void ProcessRtnOrder(ref ResponseData data)
        {
            var field = PInvokeUtility.PtrToStruct <OrderField>(data.Ptr1);

            _spi.ProcessRtnOrder(field);
        }
Exemplo n.º 6
0
        private void ProcessDepthMarketData(ref ResponseData data)
        {
            var field = PInvokeUtility.GetDepthMarketData(data.Ptr1);

            _spi.ProcessDepthMarketData(field);
        }
Exemplo n.º 7
0
        private void ProcessQrySettlementInfo(ref ResponseData data)
        {
            var field = PInvokeUtility.GetSettlementInfo(data.Ptr1);

            _spi.ProcessQrySettlementInfo(field, Math.Abs(data.Double1) > double.Epsilon);
        }