void MdApi::OnRspUserLogout(CThostFtdcUserLogoutField *pUserLogout, CThostFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) { Task task = Task(); task.task_name = ONRSPUSERLOGOUT; if (pUserLogout) { task.task_data = *pUserLogout; } else { CThostFtdcUserLogoutField empty_data = CThostFtdcUserLogoutField(); memset(&empty_data, 0, sizeof(empty_data)); task.task_data = empty_data; } if (pRspInfo) { task.task_error = *pRspInfo; } else { CThostFtdcRspInfoField empty_error = CThostFtdcRspInfoField(); memset(&empty_error, 0, sizeof(empty_error)); task.task_error = empty_error; } task.task_id = nRequestID; task.task_last = bIsLast; this->task_queue.push(task); };
int MdApi::reqUserLogout(dict req, int nRequestID) { CThostFtdcUserLogoutField myreq = CThostFtdcUserLogoutField(); memset(&myreq, 0, sizeof(myreq)); getStr(req, "UserID", myreq.UserID); getStr(req, "BrokerID", myreq.BrokerID); int i = this->api->ReqUserLogout(&myreq, nRequestID); return i; };
int TdApi::reqUserLogout(dict req, int nRequestID) { CThostFtdcUserLogoutField myreq = CThostFtdcUserLogoutField(); memset(&myreq, 0, sizeof(myreq)); getInt(req, "loginbatch", &myreq.loginbatch); getChar(req, "gateWayYYBDB", myreq.gateWayYYBDB); getChar(req, "tradeDate", myreq.tradeDate); getInt(req, "machineID", &myreq.machineID); getChar(req, "localOrderNo", myreq.localOrderNo); getChar(req, "traderID", myreq.traderID); getChar(req, "memberID", myreq.memberID); getChar(req, "obligate", myreq.obligate); getInt(req, "gateWayCurLinkNum", &myreq.gateWayCurLinkNum); getChar(req, "lastLoginDate", myreq.lastLoginDate); getChar(req, "lastLoginTime", myreq.lastLoginTime); getChar(req, "msg", myreq.msg); getChar(req, "lastLoginIp", myreq.lastLoginIp); getChar(req, "password", myreq.password); getChar(req, "ipAddress", myreq.ipAddress); getChar(req, "clientName", myreq.clientName); int i = this->api->ReqUserLogout(&myreq, nRequestID); return i; };