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: InputMethodDelegate()19 InputMethodDelegate() {} ~InputMethodDelegate()20 virtual ~InputMethodDelegate() {} 21 22 // Returns original VPD value. 23 virtual std::string GetHardwareKeyboardLayouts() const = 0; 24 25 // Retrieves localized string for |resource_id|. 26 virtual base::string16 GetLocalizedString(int resource_id) const = 0; 27 28 // Set hardware layout string for testting purpose. 29 virtual void SetHardwareKeyboardLayoutForTesting( 30 const std::string& layout) = 0; 31 32 // Converts a language code to a language display name, using the 33 // current application locale. 34 // Examples: "fi" => "Finnish" 35 // "en-US" => "English (United States)" 36 virtual base::string16 GetDisplayLanguageName( 37 const std::string& language_code) const = 0; 38 39 private: 40 DISALLOW_COPY_AND_ASSIGN(InputMethodDelegate); 41 }; 42 43 } // namespace input_method 44 } // namespace chromeos 45 46 #endif // CHROMEOS_IME_INPUT_METHOD_DELEGATE_H_ 47