Upstream version 9.38.198.0
[platform/framework/web/crosswalk.git] / src / components / search_engines / template_url_service_client.h
1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #ifndef COMPONENTS_SEARCH_ENGINES_TEMPLATE_URL_SERVICE_CLIENT_H_
6 #define COMPONENTS_SEARCH_ENGINES_TEMPLATE_URL_SERVICE_CLIENT_H_
7
8 #include "base/strings/string16.h"
9 #include "components/search_engines/template_url_id.h"
10
11 class GURL;
12 class TemplateURL;
13 class TemplateURLService;
14
15 // This interface provides history related functionality required by
16 // TemplateURLService.
17 // TODO(hashimoto): Get rid of this once HistoryService gets componentized.
18 class TemplateURLServiceClient {
19  public:
20   virtual ~TemplateURLServiceClient() {}
21
22   // Sets the pointer to the owner of this object.
23   virtual void SetOwner(TemplateURLService* owner) = 0;
24
25   // Deletes all search terms for the specified keyword.
26   virtual void DeleteAllSearchTermsForKeyword(TemplateURLID id) = 0;
27
28   // Sets the search terms for the specified url and keyword.
29   virtual void SetKeywordSearchTermsForURL(const GURL& url,
30                                            TemplateURLID id,
31                                            const base::string16& term) = 0;
32
33   // Adds the given URL to history as a keyword generated visit.
34   virtual void AddKeywordGeneratedVisit(const GURL& url) = 0;
35
36   // Restores the extension info of a TemplateURL loaded from the database.
37   virtual void RestoreExtensionInfoIfNecessary(TemplateURL* template_url) = 0;
38 };
39
40 #endif  // COMPONENTS_SEARCH_ENGINES_TEMPLATE_URL_SERVICE_CLIENT_H_