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 3 // found in the LICENSE file. 4 5 #ifndef DBUS_VALUES_UTIL_H_ 6 #define DBUS_VALUES_UTIL_H_ 7 8 #include "dbus/dbus_export.h" 9 10 namespace base { 11 class Value; 12 } 13 14 namespace dbus { 15 16 class MessageReader; 17 class MessageWriter; 18 19 // Pops a value from |reader| as a base::Value. 20 // Returns NULL if an error occurs. 21 // Note: Integer values larger than int32 (including uint32) are converted to 22 // double. Non-string diciontary keys are converted to strings. 23 CHROME_DBUS_EXPORT base::Value* PopDataAsValue(MessageReader* reader); 24 25 // Appends a basic type value to |writer|. 26 CHROME_DBUS_EXPORT void AppendBasicTypeValueData(MessageWriter* writer, 27 const base::Value& value); 28 29 // Appends a basic type value to |writer| as a variant. 30 CHROME_DBUS_EXPORT void AppendBasicTypeValueDataAsVariant( 31 MessageWriter* writer, 32 const base::Value& value); 33 34 } // namespace dbus 35 36 #endif // DBUS_VALUES_UTIL_H_ 37