blob: 7012dd0661562302c6b6f5ce3a109fd14cdf8ae6 [file] [log] [blame]
// 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_CONFIG_H_
#define CHROMEOS_IME_INPUT_METHOD_CONFIG_H_
#include <string>
#include <vector>
#include "chromeos/chromeos_export.h"
namespace chromeos {
namespace input_method {
// A structure which represents a value of an input method configuration item.
// This struct is used by SetInputMethodConfig().
struct CHROMEOS_EXPORT InputMethodConfigValue {
InputMethodConfigValue();
~InputMethodConfigValue();
// Debug print function.
std::string ToString() const;
enum ValueType {
kValueTypeString = 0,
kValueTypeInt,
kValueTypeBool,
kValueTypeStringList,
};
// A value is stored on |string_value| member if |type| is kValueTypeString.
// The same is true for other enum values.
ValueType type;
std::string string_value;
int int_value;
bool bool_value;
std::vector<std::string> string_list_value;
};
} // namespace input_method
} // namespace chromeos
#endif // CHROMEOS_IME_INPUT_METHOD_CONFIG_H_