void CWebCore::RequestPages ( const std::vector<SString>& pages, WebRequestCallback* pCallback ) { // Add to pending pages queue bool bNewItem = false; for ( const auto& page : pages ) { eURLState status = GetURLState ( page ); if ( status == eURLState::WEBPAGE_ALLOWED || status == eURLState::WEBPAGE_DISALLOWED ) continue; m_PendingRequests.push_back ( page ); bNewItem = true; } if ( bNewItem ) { // Open CEGUI dialog if ( !m_pRequestsGUI ) m_pRequestsGUI = new CWebsiteRequests; // Set pending requests memo content and show the window m_pRequestsGUI->SetPendingRequests ( m_PendingRequests, pCallback ); m_pRequestsGUI->Show (); } else { // Call callback immediately if nothing has changed (all entries are most likely already on the whitelist) // There is still the possibility that all websites are blacklisted; this is not the usual case tho, so ignore for now (TODO) if ( pCallback ) (*pCallback)( true, pages ); } }
void CWebCore::RequestPages ( const std::vector<SString>& pages ) { // Add to pending pages queue bool bNewItem = false; for ( const auto& page : pages ) { eURLState status = GetURLState ( page ); if ( status == eURLState::WEBPAGE_ALLOWED || status == eURLState::WEBPAGE_DISALLOWED ) continue; m_PendingRequests.push_back ( page ); bNewItem = true; } if ( bNewItem ) { // Open CEGUI dialog if ( !m_pRequestsGUI ) m_pRequestsGUI = new CWebsiteRequests; // Set pending requests memo content and show the window m_pRequestsGUI->SetPendingRequests ( m_PendingRequests ); m_pRequestsGUI->Show (); } }