// 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 #include #include #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 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 GetSupportedInputMethods() const; private: std::set supported_input_methods_; DISALLOW_COPY_AND_ASSIGN(InputMethodWhitelist); }; } // namespace input_method } // namespace chromeos #endif // CHROMEOS_IME_INPUT_METHOD_WHITELIST_H_