12a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// Copyright 2013 The Chromium Authors. All rights reserved. 22a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 32a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// found in the LICENSE file. 42a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 52a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#ifndef CHROMEOS_IME_INPUT_METHOD_DELEGATE_H_ 62a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#define CHROMEOS_IME_INPUT_METHOD_DELEGATE_H_ 72a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 82a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include <string> 92a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 102a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "base/basictypes.h" 11868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)#include "base/strings/string16.h" 122a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 132a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)namespace chromeos { 142a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)namespace input_method { 152a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 162a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// Provides access to read/persist Input Method-related properties. 172a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)class InputMethodDelegate { 182a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) public: 192a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) InputMethodDelegate() {} 202a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) virtual ~InputMethodDelegate() {} 212a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 222a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) // Retrieves the hardware keyboard layout ID. May return an empty string if 232a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) // the ID is unknown. 242a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) virtual std::string GetHardwareKeyboardLayout() const = 0; 25c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 26c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) // Retrieves localized string for |resource_id|. 27c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) virtual string16 GetLocalizedString(int resource_id) const = 0; 28c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 29c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) // Converts a language code to a language display name, using the 30c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) // current application locale. 31c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) // Examples: "fi" => "Finnish" 32c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) // "en-US" => "English (United States)" 33c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) virtual string16 GetDisplayLanguageName( 34c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) const std::string& language_code) const = 0; 352a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 362a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) private: 372a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) DISALLOW_COPY_AND_ASSIGN(InputMethodDelegate); 382a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)}; 392a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 402a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)} // namespace input_method 412a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)} // namespace chromeos 422a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 432a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#endif // CHROMEOS_IME_INPUT_METHOD_DELEGATE_H_ 44