summaryrefslogtreecommitdiffstats
path: root/components/search_engines/template_url_service_client.h
blob: 46147aee3982973bdcd80b53decb7327f08cf6d4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
// Copyright 2014 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#ifndef COMPONENTS_SEARCH_ENGINES_TEMPLATE_URL_SERVICE_CLIENT_H_
#define COMPONENTS_SEARCH_ENGINES_TEMPLATE_URL_SERVICE_CLIENT_H_

#include "base/strings/string16.h"
#include "components/search_engines/template_url_id.h"

class GURL;
class TemplateURL;
class TemplateURLService;

// This interface provides history related functionality required by
// TemplateURLService.
// TODO(hashimoto): Get rid of this once HistoryService gets componentized.
class TemplateURLServiceClient {
 public:
  virtual ~TemplateURLServiceClient() {}

  // Called by TemplateURLService::Shutdown as part of the two phase shutdown
  // of the KeyedService.
  virtual void Shutdown() = 0;

  // Sets the pointer to the owner of this object.
  virtual void SetOwner(TemplateURLService* owner) = 0;

  // Deletes all search terms for the specified keyword.
  virtual void DeleteAllSearchTermsForKeyword(TemplateURLID id) = 0;

  // Sets the search terms for the specified url and keyword.
  virtual void SetKeywordSearchTermsForURL(const GURL& url,
                                           TemplateURLID id,
                                           const base::string16& term) = 0;

  // Adds the given URL to history as a keyword generated visit.
  virtual void AddKeywordGeneratedVisit(const GURL& url) = 0;

  // Restores the extension info of a TemplateURL loaded from the database.
  virtual void RestoreExtensionInfoIfNecessary(TemplateURL* template_url) = 0;
};

#endif  // COMPONENTS_SEARCH_ENGINES_TEMPLATE_URL_SERVICE_CLIENT_H_