private void XApi_OnConnectionStatus(object sender, XAPI.ConnectionStatus status, ref XAPI.RspUserLoginField userLogin, int size1) { if (onConnectionStatus == null) { return; } LoginInfo loginInfo = StructTransfer.TransferUserLogin(userLogin); onConnectionStatus(sender, EnumTransfer.TransferConnectionStatus(status), ref loginInfo); }
public static ConnectionStatus TransferConnectionStatus(XAPI.ConnectionStatus connectionStatus) { switch (connectionStatus) { case XAPI.ConnectionStatus.Authorized: return(ConnectionStatus.Authorized); case XAPI.ConnectionStatus.Authorizing: return(ConnectionStatus.Authorizing); case XAPI.ConnectionStatus.Confirmed: return(ConnectionStatus.Confirmed); case XAPI.ConnectionStatus.Confirming: return(ConnectionStatus.Confirming); case XAPI.ConnectionStatus.Connecting: return(ConnectionStatus.Connecting); case XAPI.ConnectionStatus.Connected: return(ConnectionStatus.Connected); case XAPI.ConnectionStatus.Disconnected: return(ConnectionStatus.Disconnected); case XAPI.ConnectionStatus.Doing: return(ConnectionStatus.Doing); case XAPI.ConnectionStatus.Done: return(ConnectionStatus.Done); case XAPI.ConnectionStatus.Initialized: return(ConnectionStatus.Initialized); case XAPI.ConnectionStatus.Logined: return(ConnectionStatus.Logined); case XAPI.ConnectionStatus.Logining: return(ConnectionStatus.Logining); case XAPI.ConnectionStatus.Uninitialized: return(ConnectionStatus.Uninitialized); case XAPI.ConnectionStatus.Unknown: return(ConnectionStatus.Unknown); } return(ConnectionStatus.Unknown); }
private void OnConnectionStatus_callback(object sender, XAPI.ConnectionStatus status, ref RspUserLoginField userLogin, int size1) { RspUserLoginClass cls = null; if (size1 > 0) { cls = new RspUserLoginClass(); RspUserLoginField field = userLogin; cls.TradingDay = field.TradingDay; cls.LoginTime = field.LoginTime; cls.SessionID = field.SessionID; cls.UserID = field.UserID; cls.AccountID = field.AccountID; cls.InvestorName = field.InvestorName(); cls.XErrorID = field.XErrorID; cls.RawErrorID = field.RawErrorID; cls.Text = field.Text(); } if (null == OnConnectionStatus) { QueueData qd = new QueueData(); qd.Type = (int)ResponeType.OnConnectionStatus; qd.Type_String = Enum <XAPI.ResponeType> .ToString(ResponeType.OnConnectionStatus); qd.Sender = this; qd.Data1 = status; qd.Data2 = Enum <XAPI.ConnectionStatus> .ToString(status); qd.Data3 = cls; qd.Data4 = size1; MessageQueue.Enqueue(qd); } else { OnConnectionStatus(this, (int)status, Enum <XAPI.ConnectionStatus> .ToString(status), ref cls, size1); } }