| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "dbus/values_util.h" | 5 #include "dbus/values_util.h" |
| 6 | 6 |
| 7 #include "base/json/json_writer.h" | 7 #include "base/json/json_writer.h" |
| 8 #include "base/logging.h" | 8 #include "base/logging.h" |
| 9 #include "base/memory/scoped_ptr.h" | 9 #include "base/memory/scoped_ptr.h" |
| 10 #include "base/values.h" | 10 #include "base/values.h" |
| (...skipping 189 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 200 break; | 200 break; |
| 201 } | 201 } |
| 202 } | 202 } |
| 203 return result; | 203 return result; |
| 204 } | 204 } |
| 205 | 205 |
| 206 void AppendBasicTypeValueData(MessageWriter* writer, const base::Value& value) { | 206 void AppendBasicTypeValueData(MessageWriter* writer, const base::Value& value) { |
| 207 switch (value.GetType()) { | 207 switch (value.GetType()) { |
| 208 case base::Value::TYPE_BOOLEAN: { | 208 case base::Value::TYPE_BOOLEAN: { |
| 209 bool bool_value = false; | 209 bool bool_value = false; |
| 210 value.GetAsBoolean(&bool_value); | 210 bool success = value.GetAsBoolean(&bool_value); |
| 211 DCHECK(success); |
| 211 writer->AppendBool(bool_value); | 212 writer->AppendBool(bool_value); |
| 212 break; | 213 break; |
| 213 } | 214 } |
| 214 case base::Value::TYPE_INTEGER: { | 215 case base::Value::TYPE_INTEGER: { |
| 215 int int_value = 0; | 216 int int_value = 0; |
| 216 value.GetAsInteger(&int_value); | 217 bool success = value.GetAsInteger(&int_value); |
| 218 DCHECK(success); |
| 217 writer->AppendInt32(int_value); | 219 writer->AppendInt32(int_value); |
| 218 break; | 220 break; |
| 219 } | 221 } |
| 220 case base::Value::TYPE_DOUBLE: { | 222 case base::Value::TYPE_DOUBLE: { |
| 221 double double_value = 0; | 223 double double_value = 0; |
| 222 value.GetAsDouble(&double_value); | 224 bool success = value.GetAsDouble(&double_value); |
| 225 DCHECK(success); |
| 223 writer->AppendDouble(double_value); | 226 writer->AppendDouble(double_value); |
| 224 break; | 227 break; |
| 225 } | 228 } |
| 226 case base::Value::TYPE_STRING: { | 229 case base::Value::TYPE_STRING: { |
| 227 std::string string_value; | 230 std::string string_value; |
| 228 value.GetAsString(&string_value); | 231 bool success = value.GetAsString(&string_value); |
| 232 DCHECK(success); |
| 229 writer->AppendString(string_value); | 233 writer->AppendString(string_value); |
| 230 break; | 234 break; |
| 231 } | 235 } |
| 232 default: | 236 default: |
| 233 DLOG(ERROR) << "Unexpected type " << value.GetType(); | 237 DLOG(ERROR) << "Unexpected type " << value.GetType(); |
| 234 break; | 238 break; |
| 235 } | 239 } |
| 236 } | 240 } |
| 237 | 241 |
| 238 void AppendBasicTypeValueDataAsVariant(MessageWriter* writer, | 242 void AppendBasicTypeValueDataAsVariant(MessageWriter* writer, |
| 239 const base::Value& value) { | 243 const base::Value& value) { |
| 240 MessageWriter sub_writer(NULL); | 244 MessageWriter sub_writer(NULL); |
| 241 writer->OpenVariant(GetTypeSignature(value), &sub_writer); | 245 writer->OpenVariant(GetTypeSignature(value), &sub_writer); |
| 242 AppendBasicTypeValueData(&sub_writer, value); | 246 AppendBasicTypeValueData(&sub_writer, value); |
| 243 writer->CloseContainer(&sub_writer); | 247 writer->CloseContainer(&sub_writer); |
| 244 } | 248 } |
| 245 | 249 |
| 246 } // namespace dbus | 250 } // namespace dbus |
| OLD | NEW |