File indexing completed on 2024-05-12 04:58:11

0001 /*
0002  * Copyright 2009 Jakub Wieczorek <faw217@gmail.com>
0003  *
0004  * This program is free software; you can redistribute it and/or modify
0005  * it under the terms of the GNU General Public License as published by
0006  * the Free Software Foundation; either version 2 of the License, or
0007  * (at your option) any later version.
0008  *
0009  * This program is distributed in the hope that it will be useful,
0010  * but WITHOUT ANY WARRANTY; without even the implied warranty of
0011  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
0012  * GNU General Public License for more details.
0013  *
0014  * You should have received a copy of the GNU General Public License
0015  * along with this program; if not, write to the Free Software
0016  * Foundation, Inc., 51 Franklin Street, Fifth Floor,
0017  * Boston, MA  02110-1301  USA
0018  */
0019 
0020 #include "opensearchenginedelegate.h"
0021 
0022 /*!
0023     \class OpenSearchEngineDelegate
0024     \brief An abstract class providing custom processing of specific activities.
0025 
0026     OpenSearchEngineDelegate is an abstract class that can be subclassed and set on
0027     an OpenSearchEngine. It allows to customize some parts of the default implementation
0028     or even extend it with missing bits.
0029 
0030     Currently subclasses can only provide a custom way of handling search requests by
0031     reimplementing the performSearchRequest() method.
0032 
0033     \sa OpenSearchEngine
0034 */
0035 
0036 /*!
0037     Constructs the delegate.
0038 */
0039 OpenSearchEngineDelegate::OpenSearchEngineDelegate()
0040 = default;
0041 
0042 /*!
0043     Destructs the delegate.
0044 */
0045 OpenSearchEngineDelegate::~OpenSearchEngineDelegate()
0046 = default;
0047 
0048 /*!
0049     \fn void performSearchRequest(const QNetworkRequest &request,
0050     QNetworkAccessManager::Operation operation, const QByteArray &data) = 0
0051 
0052     This method will be used after OpenSearchEngine::requestResults() is called.
0053 
0054     For example, a console application that uses the OpenSearchEngine class to generate
0055     a search URL for a search term supplied by the user would reimplement the function
0056     and forward the request to e.g. a web browser.
0057 
0058     Likewise, a web browser that uses the OpenSearchEngine class to support multiple search
0059     engines e.g. in a toolbar would perform the request and navigate to the search results site.
0060 */