Index: chromeos/ime/input_method_descriptor.h |
diff --git a/chromeos/ime/input_method_descriptor.h b/chromeos/ime/input_method_descriptor.h |
new file mode 100644 |
index 0000000000000000000000000000000000000000..e11b0ebac0f8117040d96ce5b0cb5ee89476218f |
--- /dev/null |
+++ b/chromeos/ime/input_method_descriptor.h |
@@ -0,0 +1,92 @@ |
+// Copyright 2013 The Chromium Authors. All rights reserved. |
+// Use of this source code is governed by a BSD-style license that can be |
+// found in the LICENSE file. |
+ |
+#ifndef CHROMEOS_IME_INPUT_METHOD_DESCRIPTOR_H_ |
+#define CHROMEOS_IME_INPUT_METHOD_DESCRIPTOR_H_ |
+ |
+#include <string> |
+#include <vector> |
+ |
+#include "base/basictypes.h" |
+#include "chromeos/chromeos_export.h" |
+#include "url/gurl.h" |
+ |
+namespace chromeos { |
+namespace input_method { |
+ |
+// A structure which represents an input method. |
+class CHROMEOS_EXPORT InputMethodDescriptor { |
+ public: |
+ InputMethodDescriptor(); |
+ InputMethodDescriptor(const std::string& id, |
+ const std::string& name, |
+ const std::string& indicator, |
+ const std::vector<std::string>& keyboard_layouts, |
+ const std::vector<std::string>& language_codes, |
+ bool is_login_keyboard, |
+ const GURL& options_page_url, |
+ const GURL& input_view_url); |
+ ~InputMethodDescriptor(); |
+ |
+ // Accessors |
+ const std::string& id() const { return id_; } |
+ const std::string& name() const { return name_; } |
+ const std::string& indicator() const { return indicator_; } |
+ const std::vector<std::string>& language_codes() const { |
+ return language_codes_; |
+ } |
+ const GURL& options_page_url() const { return options_page_url_; } |
+ const GURL& input_view_url() const { return input_view_url_; } |
+ const std::vector<std::string>& keyboard_layouts() const { |
+ return keyboard_layouts_; |
+ } |
+ |
+ bool is_login_keyboard() const { return is_login_keyboard_; } |
+ |
+ // Returns preferred keyboard layout. |
+ std::string GetPreferredKeyboardLayout() const; |
+ |
+ // Returns the indicator text of this input method. |
+ std::string GetIndicator() const; |
+ |
+ private: |
+ // An ID that identifies an input method engine (e.g., "t:latn-post", |
+ // "pinyin", "hangul"). |
+ std::string id_; |
+ |
+ // A name used to specify the user-visible name of this input method. It is |
+ // only used by extension IMEs, and should be blank for internal IMEs. |
+ std::string name_; |
+ |
+ // A preferred physical keyboard layout for the input method (e.g., "us", |
+ // "us(dvorak)", "jp"). Comma separated layout names do NOT appear. |
+ std::vector<std::string> keyboard_layouts_; |
+ |
+ // Language code like "ko", "ja", "en-US", and "zh-CN". |
+ std::vector<std::string> language_codes_; |
+ |
+ // A short indicator string that is displayed when the input method |
+ // is selected, like "US". |
+ std::string indicator_; |
+ |
+ // True if this input method can be used on login screen. |
+ bool is_login_keyboard_; |
+ |
+ // Options page URL e.g. |
+ // "chrome-extension://ceaajjmckiakobniehbjpdcidfpohlin/options.html". |
+ // This field is valid only for input method extension. |
+ GURL options_page_url_; |
+ |
+ // Input View URL e.g. |
+ // "chrome-extension://ceaajjmckiakobniehbjpdcidfpohlin/my_input_view.html". |
+ // This field is valid only for input method extension. |
+ GURL input_view_url_; |
+}; |
+ |
+typedef std::vector<InputMethodDescriptor> InputMethodDescriptors; |
+ |
+} // namespace input_method |
+} // namespace chromeos |
+ |
+#endif // CHROMEOS_IME_INPUT_METHOD_DESCRIPTOR_H_ |