virtual void OnClientDisconnect() { requestQueue::iterator it; if (m_pClient == m_pDoing) { // The replies which aren't received yet will be // broadcasted to everyone, but at least nothing breaks RemTimer("RouteTimeout"); m_pDoing = NULL; m_pReplies = NULL; } it = m_vsPending.find(m_pClient); if (it != m_vsPending.end()) m_vsPending.erase(it); SendRequest(); }
bool RouteReply(const CString& sLine, bool bFinished = false, bool bIsRaw353 = false) { if (!m_pDoing) return false; // 353 needs special treatment due to NAMESX and UHNAMES if (bIsRaw353) m_pNetwork->GetIRCSock()->ForwardRaw353(sLine, m_pDoing); else m_pDoing->PutClient(sLine); if (bFinished) { // Stop the timeout RemTimer("RouteTimeout"); m_pDoing = NULL; m_pReplies = NULL; SendRequest(); } return true; }
bool CModule::RemTimer(const CString& sLabel) { CTimer *pTimer = FindTimer(sLabel); if (!pTimer) return false; return RemTimer(pTimer); }
virtual void OnIRCDisconnected() { RemTimer("AwayNickTimer"); RemTimer("BackNickTimer"); }