Home | History | Annotate | Download | only in ime
      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   // 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