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_CONFIG_H_ 6 #define CHROMEOS_IME_INPUT_METHOD_CONFIG_H_ 7 8 #include <string> 9 #include <vector> 10 #include "chromeos/chromeos_export.h" 11 12 namespace chromeos { 13 namespace input_method { 14 15 // A structure which represents a value of an input method configuration item. 16 // This struct is used by SetInputMethodConfig(). 17 struct CHROMEOS_EXPORT InputMethodConfigValue { 18 InputMethodConfigValue(); 19 ~InputMethodConfigValue(); 20 21 // Debug print function. 22 std::string ToString() const; 23 24 enum ValueType { 25 kValueTypeString = 0, 26 kValueTypeInt, 27 kValueTypeBool, 28 kValueTypeStringList, 29 }; 30 31 // A value is stored on |string_value| member if |type| is kValueTypeString. 32 // The same is true for other enum values. 33 ValueType type; 34 35 std::string string_value; 36 int int_value; 37 bool bool_value; 38 std::vector<std::string> string_list_value; 39 }; 40 41 } // namespace input_method 42 } // namespace chromeos 43 44 #endif // CHROMEOS_IME_INPUT_METHOD_CONFIG_H_ 45