Index: chromeos/dbus/ibus/ibus_object.cc |
diff --git a/chromeos/dbus/ibus/ibus_object.cc b/chromeos/dbus/ibus/ibus_object.cc |
index c6b97465f0a8fc8690a06f885794f9a71435318a..e81fcee67f4f81f80063b6dfe44bbdba2d203b73 100644 |
--- a/chromeos/dbus/ibus/ibus_object.cc |
+++ b/chromeos/dbus/ibus/ibus_object.cc |
@@ -92,6 +92,18 @@ bool IBusObjectReader::PopUint32(uint32* out) { |
return IsValid() && contents_reader_->PopUint32(out); |
} |
+bool IBusObjectReader::PopInt32(int32* out) { |
+ DCHECK_NE(IBUS_OBJECT_NOT_CHECKED, check_result_); |
+ DCHECK(contents_reader_.get()); |
+ return IsValid() && contents_reader_->PopInt32(out); |
+} |
+ |
+bool IBusObjectReader::PopBool(bool* out) { |
+ DCHECK_NE(IBUS_OBJECT_NOT_CHECKED, check_result_); |
+ DCHECK(contents_reader_.get()); |
+ return IsValid() && contents_reader_->PopBool(out); |
+} |
+ |
bool IBusObjectReader::PopArray(dbus::MessageReader* reader) { |
DCHECK_NE(IBUS_OBJECT_NOT_CHECKED, check_result_); |
DCHECK(contents_reader_.get()); |
@@ -116,6 +128,16 @@ bool IBusObjectReader::IsValid() const { |
return check_result_ == IBUS_OBJECT_VALID; |
} |
+dbus::MessageReader* IBusObjectReader::GetContentsReader() { |
+ DCHECK_NE(IBUS_OBJECT_NOT_CHECKED, check_result_); |
+ DCHECK(contents_reader_.get()); |
+ if (IsValid()) { |
+ return contents_reader_.get(); |
+ } else { |
+ return NULL; |
+ } |
+} |
+ |
/////////////////////////////////////////////////////////////////////////////// |
// IBusObjectWriter |
IBusObjectWriter::IBusObjectWriter(const std::string& type_name, |
@@ -141,6 +163,16 @@ void IBusObjectWriter::AppendUint32(uint32 input) { |
contents_writer_->AppendUint32(input); |
} |
+void IBusObjectWriter::AppendInt32(int32 input) { |
+ DCHECK(IsInitialized()); |
+ contents_writer_->AppendInt32(input); |
+} |
+ |
+void IBusObjectWriter::AppendBool(bool input) { |
+ DCHECK(IsInitialized()); |
+ contents_writer_->AppendBool(input); |
+} |
+ |
void IBusObjectWriter::OpenArray(const std::string& signature, |
dbus::MessageWriter* writer) { |
DCHECK(IsInitialized()); |
@@ -198,4 +230,13 @@ bool IBusObjectWriter::IsInitialized() const { |
return contents_writer_.get() != NULL; |
} |
+dbus::MessageWriter* IBusObjectWriter::GetContentsWriter() { |
+ DCHECK(contents_writer_.get()); |
+ if (IsInitialized()) { |
+ return contents_writer_.get(); |
+ } else { |
+ return NULL; |
+ } |
+} |
+ |
} // namespace chromeos |