Beispiel #1
0
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);
};
Beispiel #2
0
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;
};
Beispiel #3
0
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;
};