void CScriptDebugger::SendMessageToIde (CMailSlotMsg& msg) { if(CheckExisting(IDE_MAIL_SLOT)) { SendMailslotMessage(IDE_MAIL_SLOT, msg); m_bIdePresent = true; } else m_bIdePresent = false; }
void CScriptDebugger::Connect(LPCSTR mslot_name) { m_bIdePresent = CheckExisting(IDE_MAIL_SLOT); ZeroMemory(m_curr_connected_mslot,sizeof(m_curr_connected_mslot)); if (Active()) { _SendMessage(DMSG_NEW_CONNECTION,0,0); CMailSlotMsg msg; msg.w_int(DMSG_GET_BREAKPOINTS); SendMessageToIde(msg); WaitForReply(false); strcat(m_curr_connected_mslot,mslot_name); } }
void CBaseMatchWnd::OnSearchDownloadNow() { CSingleLock pSingleLock( &m_pMatches->m_pSection, TRUE ); CPtrList pFiles, pHits; POSITION pos; for ( pos = m_pMatches->m_pSelectedFiles.GetHeadPosition() ; pos ; ) { CMatchFile* pFile = (CMatchFile*)m_pMatches->m_pSelectedFiles.GetNext( pos ); pSingleLock.Unlock(); switch ( CheckExisting( pFile->m_bSHA1, &pFile->m_pSHA1, pFile->m_bTiger, &pFile->m_pTiger, pFile->m_bED2K, &pFile->m_pED2K ) ) { case 1: pFiles.AddTail( pFile ); break; case 3: return; } pSingleLock.Lock(); } for ( pos = m_pMatches->m_pSelectedHits.GetHeadPosition() ; pos ; ) { CQueryHit* pHit = (CQueryHit*)m_pMatches->m_pSelectedHits.GetNext( pos ); pSingleLock.Unlock(); switch ( CheckExisting( pHit->m_bSHA1, &pHit->m_pSHA1, pHit->m_bTiger, &pHit->m_pTiger, pHit->m_bED2K, &pHit->m_pED2K ) ) { case 1: pHits.AddTail( pHit ); break; case 3: return; } pSingleLock.Lock(); } pSingleLock.Unlock(); if ( pFiles.IsEmpty() && pHits.IsEmpty() ) return; CSyncObject* pSync[2] = { &Network.m_pSection, &Transfers.m_pSection }; CMultiLock pMultiLock( pSync, 2, TRUE ); for ( pos = pFiles.GetHeadPosition() ; pos ; ) { CMatchFile* pFile = (CMatchFile*)pFiles.GetNext( pos ); if ( m_pMatches->m_pSelectedFiles.Find( pFile ) != NULL ) Downloads.Add( pFile, TRUE ); } for ( pos = pHits.GetHeadPosition() ; pos ; ) { CQueryHit* pHit = (CQueryHit*)pHits.GetNext( pos ); if ( m_pMatches->m_pSelectedHits.Find( pHit ) != NULL ) Downloads.Add( pHit, TRUE ); } pMultiLock.Unlock(); m_wndList.Invalidate(); if ( Settings.Search.SwitchToTransfers && ! m_bContextMenu && GetTickCount() - m_tContextMenu > 5000 ) { GetManager()->Open( RUNTIME_CLASS(CDownloadsWnd) ); } }