void QryApi::OnRspUserLogout(CSecurityFtdcUserLogoutField *pUserLogout, CSecurityFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) { Task task = Task(); task.task_name = ONRSPUSERLOGOUT; if (pUserLogout) { task.task_data = *pUserLogout; } else { CSecurityFtdcUserLogoutField empty_data = CSecurityFtdcUserLogoutField(); memset(&empty_data, 0, sizeof(empty_data)); task.task_data = empty_data; } if (pRspInfo) { task.task_error = *pRspInfo; } else { CSecurityFtdcRspInfoField empty_error = CSecurityFtdcRspInfoField(); 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) { CSecurityFtdcUserLogoutField myreq = CSecurityFtdcUserLogoutField(); memset(&myreq, 0, sizeof(myreq)); getChar(req, "UserID", myreq.UserID); getChar(req, "BrokerID", myreq.BrokerID); int i = this->api->ReqUserLogout(&myreq, nRequestID); return i; };