void JabberClient::auth_ok() { if (getRegister()){ setRegister(false); setClientStatus(STATUS_OFFLINE); TCPClient::setStatus(getManualStatus(), getCommonStatus()); return; } setState(Connected); rosters_request(); info_request(NULL); setStatus(m_logonStatus); QTimer::singleShot(PING_TIMEOUT * 1000, this, SLOT(ping())); }
bool TCPClient::error_state(const char *err, unsigned code) { log(L_DEBUG, "Socket error %s (%u)", err, code); if (m_reconnect == NO_RECONNECT){ m_timer->stop(); setStatus(STATUS_OFFLINE, getCommonStatus()); setState(Error, err, code); return false; } if (!m_timer->isActive()){ unsigned reconnectTime = m_reconnect; if (!getSocketFactory()->isActive()){ if (reconnectTime < RECONNECT_IFINACTIVE) reconnectTime = RECONNECT_IFINACTIVE; } setClientStatus(STATUS_OFFLINE); setState((m_reconnect == NO_RECONNECT) ? Error : Connecting, err, code); m_bWaitReconnect = true; log(L_DEBUG, "Wait reconnect %u sec", reconnectTime); m_timer->start(reconnectTime * 1000); } return false; }