| OLD | NEW | 
|---|
| 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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/message.h" | 5 #include "dbus/message.h" | 
| 6 | 6 | 
| 7 #include "base/basictypes.h" | 7 #include "base/basictypes.h" | 
| 8 #include "base/format_macros.h" | 8 #include "base/format_macros.h" | 
| 9 #include "base/logging.h" | 9 #include "base/logging.h" | 
| 10 #include "base/stringprintf.h" | 10 #include "base/stringprintf.h" | 
| (...skipping 737 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 748 } | 748 } | 
| 749 | 749 | 
| 750 bool MessageReader::PopVariant(MessageReader* sub_reader) { | 750 bool MessageReader::PopVariant(MessageReader* sub_reader) { | 
| 751   return PopContainer(DBUS_TYPE_VARIANT, sub_reader); | 751   return PopContainer(DBUS_TYPE_VARIANT, sub_reader); | 
| 752 } | 752 } | 
| 753 | 753 | 
| 754 bool MessageReader::PopArrayOfBytes(uint8** bytes, size_t* length) { | 754 bool MessageReader::PopArrayOfBytes(uint8** bytes, size_t* length) { | 
| 755   MessageReader array_reader(message_); | 755   MessageReader array_reader(message_); | 
| 756   if (!PopArray(&array_reader)) | 756   if (!PopArray(&array_reader)) | 
| 757       return false; | 757       return false; | 
|  | 758   // An empty array is allowed. | 
|  | 759   if (!array_reader.HasMoreData()) { | 
|  | 760     *length = 0; | 
|  | 761     *bytes = NULL; | 
|  | 762     return true; | 
|  | 763   } | 
| 758   if (!array_reader.CheckDataType(DBUS_TYPE_BYTE)) | 764   if (!array_reader.CheckDataType(DBUS_TYPE_BYTE)) | 
| 759     return false; | 765     return false; | 
| 760   int int_length = 0; | 766   int int_length = 0; | 
| 761   dbus_message_iter_get_fixed_array(&array_reader.raw_message_iter_, | 767   dbus_message_iter_get_fixed_array(&array_reader.raw_message_iter_, | 
| 762                                     bytes, | 768                                     bytes, | 
| 763                                     &int_length); | 769                                     &int_length); | 
| 764   *length = static_cast<int>(int_length); | 770   *length = static_cast<int>(int_length); | 
| 765   return bytes != NULL; | 771   return true; | 
| 766 } | 772 } | 
| 767 | 773 | 
| 768 bool MessageReader::PopArrayOfStrings( | 774 bool MessageReader::PopArrayOfStrings( | 
| 769     std::vector<std::string> *strings) { | 775     std::vector<std::string> *strings) { | 
| 770   MessageReader array_reader(message_); | 776   MessageReader array_reader(message_); | 
| 771   if (!PopArray(&array_reader)) | 777   if (!PopArray(&array_reader)) | 
| 772       return false; | 778       return false; | 
| 773   while (array_reader.HasMoreData()) { | 779   while (array_reader.HasMoreData()) { | 
| 774     std::string string; | 780     std::string string; | 
| 775     if (!array_reader.PopString(&string)) | 781     if (!array_reader.PopString(&string)) | 
| (...skipping 112 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 888 } | 894 } | 
| 889 | 895 | 
| 890 bool MessageReader::PopVariantOfBasic(int dbus_type, void* value) { | 896 bool MessageReader::PopVariantOfBasic(int dbus_type, void* value) { | 
| 891   dbus::MessageReader variant_reader(message_); | 897   dbus::MessageReader variant_reader(message_); | 
| 892   if (!PopVariant(&variant_reader)) | 898   if (!PopVariant(&variant_reader)) | 
| 893     return false; | 899     return false; | 
| 894   return variant_reader.PopBasic(dbus_type, value); | 900   return variant_reader.PopBasic(dbus_type, value); | 
| 895 } | 901 } | 
| 896 | 902 | 
| 897 }  // namespace dbus | 903 }  // namespace dbus | 
| OLD | NEW | 
|---|