Index: chromeos/ime/input_method_whitelist.h |
diff --git a/chromeos/ime/input_method_whitelist.h b/chromeos/ime/input_method_whitelist.h |
new file mode 100644 |
index 0000000000000000000000000000000000000000..3a224936183d67c02c6e23417de1aa0381dcf468 |
--- /dev/null |
+++ b/chromeos/ime/input_method_whitelist.h |
@@ -0,0 +1,46 @@ |
+// 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_WHITELIST_H_ |
+#define CHROMEOS_IME_INPUT_METHOD_WHITELIST_H_ |
+ |
+#include <set> |
+#include <string> |
+#include <vector> |
+ |
+#include "base/basictypes.h" |
+#include "base/memory/scoped_ptr.h" |
+#include "chromeos/chromeos_export.h" |
+ |
+namespace chromeos { |
+namespace input_method { |
+ |
+class InputMethodDescriptor; |
+typedef std::vector<InputMethodDescriptor> InputMethodDescriptors; |
+ |
+// A class which has white listed input method list. The list is generated by |
+// gen_input_methods.py from input_methods.txt. |
+class CHROMEOS_EXPORT InputMethodWhitelist { |
+ public: |
+ InputMethodWhitelist(); |
+ ~InputMethodWhitelist(); |
+ |
+ // Returns true if |input_method_id| is whitelisted. |
+ bool InputMethodIdIsWhitelisted(const std::string& input_method_id) const; |
+ |
+ // Returns all input methods that are supported, including ones not active. |
+ // This function never returns NULL. Note that input method extensions are not |
+ // included in the result. |
+ scoped_ptr<InputMethodDescriptors> GetSupportedInputMethods() const; |
+ |
+ private: |
+ std::set<std::string> supported_input_methods_; |
+ |
+ DISALLOW_COPY_AND_ASSIGN(InputMethodWhitelist); |
+}; |
+ |
+} // namespace input_method |
+} // namespace chromeos |
+ |
+#endif // CHROMEOS_IME_INPUT_METHOD_WHITELIST_H_ |