void  CHandleLoginOrExit::SendExitRequest()
{
	GetNameAndPassword();
	TBuf8<200> sendData;

	TBuf8<8> bufTemp;

	TInt len=96;

	bufTemp.AppendNum(len,EHex);

	for(TInt i=0;i<8-bufTemp.Length();i++)
	{
		sendData.AppendNum(0);
	}

	sendData.Append(bufTemp);//包长度
	
	sendData.Append(KLoginMsgType);//消息类型
	
	sendData.Append(_L("00000001"));//消息所带个数
	sendData.Append(_L("00000001"));//消息流水号
	sendData.Append(iNamePassword);//帐户密码
	sendData.Append(_L("10"));//协议版本号
	sendData.Append(_L("10"));//校验码

	//iMainEngine.WriteLog8(sendData);
	iHttpManager.SendPostRequest(*this,KCONNECTURL,KLoginContentType,sendData,EHttpExit);
}
void  CHandleLoginOrExit::SendLoginRequest()
{
	GetNameAndPassword();

	if(!iSmsHandler)
		iSmsHandler = CSmsHandler::NewL();


	TBuf8<200> sendData;

	TBuf8<8> bufTemp;

	TBuf8<20> versionInfo;

	versionInfo.Zero ();
	versionInfo.Copy (iMainEngine.GetDesById(ECoCoVersionNumber));

	TInt len=96+versionInfo.Length ();

	bufTemp.AppendNum(len,EHex);

	for(TInt i=0;i<8-bufTemp.Length();i++)
	{
		sendData.AppendNum(0);
	}

	sendData.Append(bufTemp);//包长度
	
	sendData.Append(KLoginMsgType);//消息类型
	
	sendData.Append(_L("00000001"));//消息所带个数
	sendData.Append(_L("00000001"));//消息流水号
	
	sendData.Append(iNamePassword);//帐户密码
	sendData.Append(_L("10"));//协议版本号
	sendData.Append(_L("10"));//校验码
	
	sendData.Append(versionInfo);//包体

	//iMainEngine.WriteLog8(sendData);
	iHttpManager.SendPostRequest(*this,KCONNECTURL,KLoginContentType,sendData,EHttpLogin);

}
Ejemplo n.º 3
0
void ConnectToNetworkDrive(const string& NewDir)
{
	string strRemoteName;
	DriveLocalToRemoteName(DRIVE_REMOTE_NOT_CONNECTED,NewDir[0],strRemoteName);
	string strUserName, strPassword;
	GetStoredUserName(NewDir[0], strUserName);
	NETRESOURCE netResource;
	netResource.dwType = RESOURCETYPE_DISK;
	netResource.lpLocalName = UNSAFE_CSTR(NewDir);
	netResource.lpRemoteName = UNSAFE_CSTR(strRemoteName);
	netResource.lpProvider = 0;
	DWORD res = WNetAddConnection2(&netResource, nullptr, EmptyToNull(strUserName.data()), 0);

	if (res == ERROR_SESSION_CREDENTIAL_CONFLICT)
		res = WNetAddConnection2(&netResource, nullptr, nullptr, 0);

	if (res)
	{
		for (;;)
		{
			if (!GetNameAndPassword(strRemoteName, strUserName, strPassword, nullptr, GNP_USELAST))
				break;

			res = WNetAddConnection2(&netResource, strPassword.data(), EmptyToNull(strUserName.data()), 0);

			if (!res)
				break;

			Global->CatchError();

			if (res != ERROR_ACCESS_DENIED && res != ERROR_INVALID_PASSWORD && res != ERROR_LOGON_FAILURE)
			{
				Message(MSG_WARNING, 1, MSG(MError), GetErrorString().data(), MSG(MOk));
				break;
			}
		}
	}
}