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.
5 #ifndef COMPONENTS_SEARCH_ENGINES_TEMPLATE_URL_SERVICE_CLIENT_H_
6 #define COMPONENTS_SEARCH_ENGINES_TEMPLATE_URL_SERVICE_CLIENT_H_
8 #include "base/strings/string16.h"
9 #include "components/search_engines/template_url_id.h"
13 class TemplateURLService
;
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
{
20 virtual ~TemplateURLServiceClient() {}
22 // Called by TemplateURLService::Shutdown as part of the two phase shutdown
23 // of the KeyedService.
24 virtual void Shutdown() = 0;
26 // Sets the pointer to the owner of this object.
27 virtual void SetOwner(TemplateURLService
* owner
) = 0;
29 // Deletes all search terms for the specified keyword.
30 virtual void DeleteAllSearchTermsForKeyword(TemplateURLID id
) = 0;
32 // Sets the search terms for the specified url and keyword.
33 virtual void SetKeywordSearchTermsForURL(const GURL
& url
,
35 const base::string16
& term
) = 0;
37 // Adds the given URL to history as a keyword generated visit.
38 virtual void AddKeywordGeneratedVisit(const GURL
& url
) = 0;
40 // Restores the extension info of a TemplateURL loaded from the database.
41 virtual void RestoreExtensionInfoIfNecessary(TemplateURL
* template_url
) = 0;
44 #endif // COMPONENTS_SEARCH_ENGINES_TEMPLATE_URL_SERVICE_CLIENT_H_