// 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_TRANSLATE_CORE_BROWSER_TRANSLATE_DRIVER_H_
#define COMPONENTS_TRANSLATE_CORE_BROWSER_TRANSLATE_DRIVER_H_
class LanguageState;
// Interface that allows Translate core code to interact with its driver (i.e.,
// obtain information from it and give information to it). A concrete
// implementation must be provided by the driver.
class TranslateDriver {
public:
// Returns true if the current page was navigated through a link.
virtual bool IsLinkNavigation() = 0;
// Called when Translate is enabled or disabled.
virtual void OnTranslateEnabledChanged() = 0;
// Called when the page is "translated" state of the page changed.
virtual void OnIsPageTranslatedChanged() = 0;
// Gets the LanguageState associated with the driver.
virtual LanguageState& GetLanguageState() = 0;
};
#endif // COMPONENTS_TRANSLATE_CORE_BROWSER_TRANSLATE_DRIVER_H_