blob: 21a1f2400a84ac12f50e04e2e5950b8db3f40065 [file] [log] [blame]
// 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 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;
};
#endif // COMPONENTS_SEARCH_ENGINES_TEMPLATE_URL_SERVICE_CLIENT_H_