diff options
author | armansito@chromium.org <armansito@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-05-22 11:52:55 +0000 |
---|---|---|
committer | armansito@chromium.org <armansito@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-05-22 11:52:55 +0000 |
commit | a68242f419e2ef9a5167dc59c2caf64c28aee530 (patch) | |
tree | a47aae5ddcdd0bc91205f1c19fa991a5d9db45fd /chromeos/dbus/nfc_client_helpers.cc | |
parent | 9c497f14121c6ee2aed0ea9edfbf73e7faa455be (diff) | |
download | chromium_src-a68242f419e2ef9a5167dc59c2caf64c28aee530.zip chromium_src-a68242f419e2ef9a5167dc59c2caf64c28aee530.tar.gz chromium_src-a68242f419e2ef9a5167dc59c2caf64c28aee530.tar.bz2 |
dbus/values_util.h: Add functions to append collection type values to message.
Added functions AppendValueData and AppendValueDataAsVariant to values_util.h.
These functions are useful for writing both basic types and variant lists and
dictionaries to a message writer. Lists and dictionaries are written with type
"av" and "a{sv}", respectively.
BUG=359413
TEST=dbus_unittests,chromeos_unittests
Review URL: https://codereview.chromium.org/221393004
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@272167 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chromeos/dbus/nfc_client_helpers.cc')
-rw-r--r-- | chromeos/dbus/nfc_client_helpers.cc | 49 |
1 files changed, 0 insertions, 49 deletions
diff --git a/chromeos/dbus/nfc_client_helpers.cc b/chromeos/dbus/nfc_client_helpers.cc index b99502b..1469d26 100644 --- a/chromeos/dbus/nfc_client_helpers.cc +++ b/chromeos/dbus/nfc_client_helpers.cc @@ -34,55 +34,6 @@ void OnError(const ErrorCallback& error_callback, error_callback.Run(error_name, error_message); } -void AppendValueDataAsVariant(dbus::MessageWriter* writer, - const base::Value& value) { - switch (value.GetType()) { - case base::Value::TYPE_DICTIONARY: { - const base::DictionaryValue* dictionary = NULL; - value.GetAsDictionary(&dictionary); - dbus::MessageWriter variant_writer(NULL); - dbus::MessageWriter array_writer(NULL); - writer->OpenVariant("a{sv}", &variant_writer); - variant_writer.OpenArray("{sv}", &array_writer); - for (base::DictionaryValue::Iterator iter(*dictionary); - !iter.IsAtEnd(); iter.Advance()) { - dbus::MessageWriter entry_writer(NULL); - array_writer.OpenDictEntry(&entry_writer); - entry_writer.AppendString(iter.key()); - AppendValueDataAsVariant(&entry_writer, iter.value()); - array_writer.CloseContainer(&entry_writer); - } - variant_writer.CloseContainer(&array_writer); - writer->CloseContainer(&variant_writer); - break; - } - case base::Value::TYPE_LIST: { - const base::ListValue* list = NULL; - value.GetAsList(&list); - dbus::MessageWriter variant_writer(NULL); - dbus::MessageWriter array_writer(NULL); - writer->OpenVariant("av", &variant_writer); - variant_writer.OpenArray("v", &array_writer); - for (base::ListValue::const_iterator iter = list->begin(); - iter != list->end(); ++iter) { - const base::Value* value = *iter; - AppendValueDataAsVariant(&array_writer, *value); - } - 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: - case base::Value::TYPE_STRING: - dbus::AppendBasicTypeValueDataAsVariant(writer, value); - break; - default: - DLOG(ERROR) << "Unexpected type: " << value.GetType(); - } -} - DBusObjectMap::DBusObjectMap(const std::string& service_name, Delegate* delegate, dbus::Bus* bus) |