bool JRequestGameInfo::passLoginHash()
{
    JElapsedTimer t;
    JLoginHashCodeRecorder lhcr;
    t.start();
    while(t.elapsed()<1000)
    {
        switch(m_plh)
        {
        case 1:
            return true;
            break;
        case 0:
            return false;
            break;
        case -1:
            if(lhcr.getUserId()==-1 || lhcr.getCode().isEmpty())
            {
                qDebug()<<"JRequestGameInfo::rqsIdList : have not record the login hash . can not request id list!";
                return false;
            }
            if(m_socket->isConnected())
            {
                m_socket->sendCrypro(lhcr.getUserId(),lhcr.getCode());
                m_plh=-2;
            }
            break;
        case -2:
            break;
        }

        QCoreApplication::processEvents();
    }
    return false;
}
bool JDownloadGameFileSocket::waitForDownloaded(int msecs)
{
	JElapsedTimer timer;
	timer.start();
	while(timer.elapsed()<msecs)
	{
		if(m_head.m_nNow==m_head.m_nTotal || m_isError)
		{
			break;
		}
		QCoreApplication::processEvents();
	}
	return m_head.m_nNow==m_head.m_nTotal && m_head.m_nTotal!=0;
}
bool JDownloadGameFileSocket::waitForConnected( int msecs)
{
	JElapsedTimer timer;
	timer.start();
	while(timer.elapsed()<msecs)
	{
		if(socketState()!=QAbstractSocket::ConnectingState || m_isError)
		{
			break;
		}
		QCoreApplication::processEvents();
	}
	return socketState()==QAbstractSocket::ConnectedState;
}
Esempio n. 4
0
bool JTimeWaiter::wait(JWaitFactor* f,int msecs){
	JElapsedTimer timer;
	timer.start();
	while(timer.elapsed()<msecs)
	{
		if(f->isStop())
		{
			break;
		}
		QEventLoop eventloop;
		QTimer::singleShot(100, &eventloop, SLOT(quit()));
		eventloop.exec();
	}
	return f->isStop();
}