37#ifndef OPENSEARCHENGINE_H
38#define OPENSEARCHENGINE_H
45#include <qnetworkaccessmanager.h>
58 void suggestions(
const QStringList &suggestions);
64 Q_PROPERTY(QString name READ name WRITE setName)
65 Q_PROPERTY(QString description READ description WRITE setDescription)
66 Q_PROPERTY(QString searchUrlTemplate READ searchUrlTemplate WRITE setSearchUrlTemplate)
67 Q_PROPERTY(
Parameters searchParameters READ searchParameters WRITE setSearchParameters)
68 Q_PROPERTY(QString searchMethod READ searchMethod WRITE setSearchMethod)
69 Q_PROPERTY(QString suggestionsUrlTemplate READ suggestionsUrlTemplate WRITE setSuggestionsUrlTemplate)
70 Q_PROPERTY(
Parameters suggestionsParameters READ suggestionsParameters WRITE setSuggestionsParameters)
71 Q_PROPERTY(QString suggestionsMethod READ suggestionsMethod WRITE setSuggestionsMethod)
72 Q_PROPERTY(
bool providesSuggestions READ providesSuggestions)
73 Q_PROPERTY(QString imageUrl READ imageUrl WRITE setImageUrl)
74 Q_PROPERTY(
bool valid READ isValid)
75 Q_PROPERTY(QNetworkAccessManager* networkAccessManager READ networkAccessManager WRITE setNetworkAccessManager)
81 void setName(
const QString &name);
83 QString description()
const;
84 void setDescription(
const QString &description);
86 QString searchUrlTemplate()
const;
87 void setSearchUrlTemplate(
const QString &searchUrl);
88 QUrl searchUrl(
const QString &searchTerm)
const;
90 QByteArray getPostData(
const QString &searchTerm)
const;
92 bool providesSuggestions()
const;
94 QString suggestionsUrlTemplate()
const;
95 void setSuggestionsUrlTemplate(
const QString &suggestionsUrl);
96 QUrl suggestionsUrl(
const QString &searchTerm)
const;
99 void setSearchParameters(
const Parameters &searchParameters);
102 void setSuggestionsParameters(
const Parameters &suggestionsParameters);
104 QString searchMethod()
const;
105 void setSearchMethod(
const QString &method);
107 QString suggestionsMethod()
const;
108 void setSuggestionsMethod(
const QString &method);
110 QString imageUrl()
const;
111 void setImageUrl(
const QString &url);
113 QImage image()
const;
114 void setImage(
const QImage &image);
116 bool isValid()
const;
118 void setSuggestionsUrl(
const QString &
string);
119 void setSuggestionsParameters(
const QByteArray ¶meters);
120 QString getSuggestionsUrl();
121 QByteArray getSuggestionsParameters();
123 QNetworkAccessManager* networkAccessManager()
const;
124 void setNetworkAccessManager(QNetworkAccessManager* networkAccessManager);
133 void requestSuggestions(
const QString &searchTerm);
134 void requestSearchResults(
const QString &searchTerm);
137 static QString parseTemplate(
const QString &searchTerm,
const QString &searchTemplate);
138 void loadImage()
const;
141 void imageObtained();
142 void suggestionsObtained();
146 QString m_description;
151 QString m_searchUrlTemplate;
152 QString m_suggestionsUrlTemplate;
155 QString m_searchMethod;
156 QString m_suggestionsMethod;
158 QByteArray m_preparedSuggestionsParameters;
159 QString m_preparedSuggestionsUrl;
161 QMap<QString, QNetworkAccessManager::Operation> m_requestMethods;
163 QNetworkAccessManager* m_networkAccessManager;
164 QNetworkReply* m_suggestionsReply;
An abstract class providing custom processing of specific activities.
A class representing a single search engine described in OpenSearch format.
QPair< QString, QString > Parameter
QList< Parameter > Parameters
bool operator==(const HistoryEntry &x, const HistoryEntry &y)