1 // Copyright 2013 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #ifndef CHROMEOS_IME_INPUT_METHOD_DELEGATE_H_ 6 #define CHROMEOS_IME_INPUT_METHOD_DELEGATE_H_ 7 8 #include <string> 9 10 #include "base/basictypes.h" 11 #include "base/strings/string16.h" 12 13 namespace chromeos { 14 namespace input_method { 15 16 // Provides access to read/persist Input Method-related properties. 17 class InputMethodDelegate { 18 public: 19 InputMethodDelegate() {} 20 virtual ~InputMethodDelegate() {} 21 22 // Retrieves the hardware keyboard layout ID. May return an empty string if 23 // the ID is unknown. 24 virtual std::string GetHardwareKeyboardLayout() const = 0; 25 26 // Retrieves localized string for |resource_id|. 27 virtual string16 GetLocalizedString(int resource_id) const = 0; 28 29 // Converts a language code to a language display name, using the 30 // current application locale. 31 // Examples: "fi" => "Finnish" 32 // "en-US" => "English (United States)" 33 virtual string16 GetDisplayLanguageName( 34 const std::string& language_code) const = 0; 35 36 private: 37 DISALLOW_COPY_AND_ASSIGN(InputMethodDelegate); 38 }; 39 40 } // namespace input_method 41 } // namespace chromeos 42 43 #endif // CHROMEOS_IME_INPUT_METHOD_DELEGATE_H_ 44