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: ~TemplateURLServiceClient()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_ 41