void CDownloadDlg::OnOK() { UpdateData(); CShareazaURL pURL; if ( pURL.Parse( m_sURL, m_pURLs ) ) CSkinDialog::OnOK(); }
BOOL CDownloadDlg::OnInitDialog() { CSkinDialog::OnInitDialog(); SkinMe( NULL, IDR_DOWNLOADSFRAME ); if ( OpenClipboard() ) { if ( HGLOBAL hData = GetClipboardData( CF_UNICODETEXT ) ) { size_t nData = GlobalSize( hData ); LPVOID pData = GlobalLock( hData ); LPTSTR pszData = m_sURL.GetBuffer( (int)( nData + 1 ) / 2 + 1 ); CopyMemory( pszData, pData, nData ); pszData[ ( nData + 1 ) / 2 ] = 0; m_sURL.ReleaseBuffer(); GlobalUnlock( hData ); } CloseClipboard(); } m_sURL.Trim( _T(" \t\r\n") ); CShareazaURL pURL; if ( !pURL.Parse( m_sURL, m_pURLs ) ) m_sURL.Empty(); UpdateData( FALSE ); OnChangeURL(); return TRUE; }
void CDownloadDlg::OnChangeURL() { UpdateData(); CShareazaURL pURL; m_wndOK.EnableWindow( pURL.Parse( m_sURL, m_pURLs ) && ( m_pDownload == NULL || pURL.m_nAction == CShareazaURL::uriSource || pURL.m_nAction == CShareazaURL::uriDownload ) ); }
BOOL CDownloadSource::ResolveURL() { CShareazaURL pURL; if ( ! pURL.Parse( m_sURL ) ) { theApp.Message( MSG_ERROR, _T("Unable to parse URL: %s"), (LPCTSTR)m_sURL ); return FALSE; } m_bSHA1 |= static_cast< BOOL >( bool( pURL.m_oSHA1 ) ); m_bTiger |= static_cast< BOOL >( bool( pURL.m_oTiger ) ); m_bED2K |= static_cast< BOOL >( bool( pURL.m_oED2K ) ); m_bBTH |= static_cast< BOOL >( bool( pURL.m_oBTH ) ); m_bMD5 |= static_cast< BOOL >( bool( pURL.m_oMD5 ) ); m_nProtocol = pURL.m_nProtocol; m_pAddress = pURL.m_pAddress; m_nPort = pURL.m_nPort; m_sName = pURL.m_sName; switch ( m_nProtocol ) { case PROTOCOL_ED2K: m_pServerAddress = pURL.m_pServerAddress; m_nServerPort = pURL.m_nServerPort; if ( m_nServerPort ) m_bPushOnly = TRUE; break; case PROTOCOL_DC: m_pServerAddress = pURL.m_pServerAddress; m_nServerPort = pURL.m_nServerPort; m_sNick = pURL.m_sLogin; m_bPushOnly = TRUE; CDCClients::CreateGUID( m_sNick, m_oGUID ); break; case PROTOCOL_BT: if ( pURL.m_oBTC ) { m_oGUID = transformGuid( pURL.m_oBTC ); } break; default: ; } m_sCountry = theApp.GetCountryCode( m_pAddress ); m_sCountryName = theApp.GetCountryName( m_pAddress ); return TRUE; }
BOOL CDDEServer::Execute(LPCTSTR pszTopic, LPCTSTR pszMessage) { CWnd* pWnd = AfxGetMainWnd(); if ( _tcscmp( pszTopic, _T("URL") ) == 0 ) { theApp.Message( MSG_SYSTEM, IDS_URL_RECEIVED, pszMessage ); CShareazaURL* pURL = new CShareazaURL(); if ( pURL->Parse( pszMessage ) ) { if ( ! pWnd->PostMessage( WM_URL, (WPARAM)pURL ) ) delete pURL; return TRUE; } delete pURL; theApp.Message( MSG_ERROR, IDS_URL_PARSE_ERROR ); } else if ( _tcscmp( pszTopic, _T("TORRENT") ) == 0 ) { theApp.Message( MSG_SYSTEM, IDS_BT_PREFETCH_FILE, pszMessage ); CBTInfo* pTorrent = new CBTInfo(); if ( pTorrent->LoadTorrentFile( pszMessage ) ) { if ( pTorrent->HasEncodingError() ) theApp.Message( MSG_SYSTEM, _T("Possible encoding error detected while parsing torrent") ); CShareazaURL* pURL = new CShareazaURL( pTorrent ); if ( ! pWnd->PostMessage( WM_URL, (WPARAM)pURL ) ) delete pURL; return TRUE; } delete pTorrent; theApp.Message( MSG_ERROR, IDS_BT_PREFETCH_ERROR, pszMessage ); } else if ( _tcscmp( pszTopic, _T("COLLECTION") ) == 0 ) { LPTSTR pszPath = new TCHAR[ _tcslen(pszMessage) + 1 ]; CopyMemory( pszPath, pszMessage, sizeof(TCHAR) * ( _tcslen(pszMessage) + 1 ) ); if ( pWnd->PostMessage( WM_COLLECTION, (WPARAM)pszPath ) ) { return TRUE; } else { delete [] pszPath; } } return FALSE; }