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   // 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