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; }
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(); }