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