Home | History | Annotate | Download | only in search_engines
      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_
     41