blob: 77a22d26706f4ec8eeacf490f5212713a4ff6f4f [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 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;
// Given the main search |url| for a TemplateURL, returns whether the
// TemplateURL is from an omnibox extension.
virtual bool IsOmniboxExtensionURL(const std::string& url) = 0;
};
#endif // COMPONENTS_SEARCH_ENGINES_TEMPLATE_URL_SERVICE_CLIENT_H_