chrome: dbus: add default MessageReader constructor
There's no need for a dbus::MessageReader to be initialized with
a message, the underlying DBusMessageIter is fully initialized by
dbus_message_iter_recurse() as called by PopArray, etc.
This allows for:
dbus::MessageReader reader;
other_reader->PopArray(&reader);
BUG=none
TEST=verified with arrays, variants and dictionary types.
Change-Id: Id4a9d2de2b28ec3a2da42f822934a39865d9e9ef
Review URL: http://codereview.chromium.org/9342009
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@120864 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/dbus/message.h b/dbus/message.h
index ceeb0ed..a4b0f9b 100644
--- a/dbus/message.h
+++ b/dbus/message.h
@@ -1,4 +1,4 @@
-// Copyright (c) 2011 The Chromium Authors. All rights reserved.
+// Copyright (c) 2012 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
@@ -240,8 +240,9 @@
//
class MessageWriter {
public:
- // Data added with Append* will be written to |message|.
- MessageWriter(Message* message);
+ // Data added with Append* will be written to |message|, which may be NULL
+ // to create a sub-writer for passing to OpenArray, etc.
+ explicit MessageWriter(Message* message);
~MessageWriter();
// Appends a byte to the message.
@@ -331,8 +332,9 @@
// starting with Pop advance the iterator on success.
class MessageReader {
public:
- // The data will be read from the given message.
- MessageReader(Message* message);
+ // The data will be read from the given |message|, which may be NULL to
+ // create a sub-reader for passing to PopArray, etc.
+ explicit MessageReader(Message* message);
~MessageReader();
// Returns true if the reader has more data to read. The function is