// Copyright 2013 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 CHROMEOS_IME_INPUT_METHOD_DELEGATE_H_ #define CHROMEOS_IME_INPUT_METHOD_DELEGATE_H_ #include #include "base/basictypes.h" #include "base/strings/string16.h" namespace chromeos { namespace input_method { // Provides access to read/persist Input Method-related properties. class InputMethodDelegate { public: InputMethodDelegate() {} virtual ~InputMethodDelegate() {} // Returns original VPD value. virtual std::string GetHardwareKeyboardLayouts() const = 0; // Retrieves localized string for |resource_id|. virtual base::string16 GetLocalizedString(int resource_id) const = 0; // Set hardware layout string for testting purpose. virtual void SetHardwareKeyboardLayoutForTesting( const std::string& layout) = 0; // Converts a language code to a language display name, using the // current application locale. // Examples: "fi" => "Finnish" // "en-US" => "English (United States)" virtual base::string16 GetDisplayLanguageName( const std::string& language_code) const = 0; private: DISALLOW_COPY_AND_ASSIGN(InputMethodDelegate); }; } // namespace input_method } // namespace chromeos #endif // CHROMEOS_IME_INPUT_METHOD_DELEGATE_H_