blob: 47aa251bbbd8f7a2adb47f8b6364968ebb141017 [file] [log] [blame]
// 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 UI_BASE_IME_CHROMEOS_INPUT_METHOD_DELEGATE_H_
#define UI_BASE_IME_CHROMEOS_INPUT_METHOD_DELEGATE_H_
#include <string>
#include "base/macros.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 // UI_BASE_IME_CHROMEOS_INPUT_METHOD_DELEGATE_H_