| Index: chromeos/dbus/shill_client_helper.cc
|
| diff --git a/chromeos/dbus/shill_client_helper.cc b/chromeos/dbus/shill_client_helper.cc
|
| index ed9c994c6d604ed5a0a9d7e550b9254713ecd64a..5e6b69b84871340e00bb88896710e189d06a3762 100644
|
| --- a/chromeos/dbus/shill_client_helper.cc
|
| +++ b/chromeos/dbus/shill_client_helper.cc
|
| @@ -384,6 +384,26 @@ void ShillClientHelper::AppendValueDataAsVariant(dbus::MessageWriter* writer,
|
| writer->CloseContainer(&variant_writer);
|
| break;
|
| }
|
| + case base::Value::TYPE_LIST: {
|
| + const base::ListValue* list = NULL;
|
| + value.GetAsList(&list);
|
| + dbus::MessageWriter variant_writer(NULL);
|
| + writer->OpenVariant("as", &variant_writer);
|
| + dbus::MessageWriter array_writer(NULL);
|
| + variant_writer.OpenArray("s", &array_writer);
|
| + for (base::ListValue::const_iterator it = list->begin();
|
| + it != list->end(); ++it) {
|
| + const base::Value& value = **it;
|
| + LOG_IF(ERROR, value.GetType() != base::Value::TYPE_STRING)
|
| + << "Unexpected type " << value.GetType();
|
| + std::string value_string;
|
| + value.GetAsString(&value_string);
|
| + array_writer.AppendString(value_string);
|
| + }
|
| + variant_writer.CloseContainer(&array_writer);
|
| + writer->CloseContainer(&variant_writer);
|
| + break;
|
| + }
|
| case base::Value::TYPE_BOOLEAN:
|
| case base::Value::TYPE_INTEGER:
|
| case base::Value::TYPE_DOUBLE:
|
|
|