Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 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 | 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 "chromeos/dbus/ibus/ibus_object.h" | 5 #include "chromeos/dbus/ibus/ibus_object.h" |
| 6 | 6 |
| 7 #include "base/logging.h" | 7 #include "base/logging.h" |
| 8 #include "chromeos/dbus/ibus/ibus_text.h" | |
| 8 #include "dbus/message.h" | 9 #include "dbus/message.h" |
| 9 | 10 |
| 10 namespace chromeos { | 11 namespace chromeos { |
| 11 | 12 |
| 13 // TODO(nona): Remove after complete libibus removal. | |
|
satorux1
2012/05/21 19:58:14
We should put the code in the file in 'ibus' names
Seigo Nonaka
2012/05/21 20:12:00
Done.
| |
| 14 using chromeos::ibus::IBusText; | |
| 15 using chromeos::ibus::PopIBusText; | |
| 16 using chromeos::ibus::PopStringFromIBusText; | |
| 17 using chromeos::ibus::AppendIBusText; | |
| 18 using chromeos::ibus::AppendStringAsIBusText; | |
| 19 | |
| 12 /////////////////////////////////////////////////////////////////////////////// | 20 /////////////////////////////////////////////////////////////////////////////// |
| 13 // IBusObjectReader | 21 // IBusObjectReader |
| 14 IBusObjectReader::IBusObjectReader(const std::string& type_name, | 22 IBusObjectReader::IBusObjectReader(const std::string& type_name, |
| 15 dbus::MessageReader* reader) | 23 dbus::MessageReader* reader) |
| 16 : type_name_(type_name), | 24 : type_name_(type_name), |
| 17 original_reader_(reader), | 25 original_reader_(reader), |
| 18 top_variant_reader_(NULL), | 26 top_variant_reader_(NULL), |
| 19 contents_reader_(NULL), | 27 contents_reader_(NULL), |
| 20 check_result_(IBUS_OBJECT_NOT_CHECKED) { | 28 check_result_(IBUS_OBJECT_NOT_CHECKED) { |
| 21 } | 29 } |
| (...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 103 DCHECK(contents_reader_.get()); | 111 DCHECK(contents_reader_.get()); |
| 104 return IsValid() && contents_reader_->PopBool(out); | 112 return IsValid() && contents_reader_->PopBool(out); |
| 105 } | 113 } |
| 106 | 114 |
| 107 bool IBusObjectReader::PopArray(dbus::MessageReader* reader) { | 115 bool IBusObjectReader::PopArray(dbus::MessageReader* reader) { |
| 108 DCHECK_NE(IBUS_OBJECT_NOT_CHECKED, check_result_); | 116 DCHECK_NE(IBUS_OBJECT_NOT_CHECKED, check_result_); |
| 109 DCHECK(contents_reader_.get()); | 117 DCHECK(contents_reader_.get()); |
| 110 return IsValid() && contents_reader_->PopArray(reader); | 118 return IsValid() && contents_reader_->PopArray(reader); |
| 111 } | 119 } |
| 112 | 120 |
| 121 bool IBusObjectReader::PopIBusText(IBusText* text) { | |
| 122 DCHECK_NE(IBUS_OBJECT_NOT_CHECKED, check_result_); | |
| 123 DCHECK(contents_reader_.get()); | |
| 124 return IsValid() && chromeos::PopIBusText(contents_reader_.get(), text); | |
| 125 } | |
| 126 | |
| 127 bool IBusObjectReader::PopStringFromIBusText(std::string* text) { | |
| 128 DCHECK_NE(IBUS_OBJECT_NOT_CHECKED, check_result_); | |
| 129 DCHECK(contents_reader_.get()); | |
| 130 return IsValid() && chromeos::PopStringFromIBusText(contents_reader_.get(), | |
| 131 text); | |
| 132 } | |
| 133 | |
| 113 bool IBusObjectReader::HasMoreData() { | 134 bool IBusObjectReader::HasMoreData() { |
| 114 DCHECK_NE(IBUS_OBJECT_NOT_CHECKED, check_result_); | 135 DCHECK_NE(IBUS_OBJECT_NOT_CHECKED, check_result_); |
| 115 DCHECK(contents_reader_.get()); | 136 DCHECK(contents_reader_.get()); |
| 116 return IsValid() && contents_reader_->HasMoreData(); | 137 return IsValid() && contents_reader_->HasMoreData(); |
| 117 } | 138 } |
| 118 | 139 |
| 119 bool IBusObjectReader::PopIBusObject(IBusObjectReader* reader) { | 140 bool IBusObjectReader::PopIBusObject(IBusObjectReader* reader) { |
| 120 DCHECK(contents_reader_.get()); | 141 DCHECK(contents_reader_.get()); |
| 121 if (!IsValid()) | 142 if (!IsValid()) |
| 122 return false; | 143 return false; |
| 123 return reader->InitWithParentReader(contents_reader_.get()); | 144 return reader->InitWithParentReader(contents_reader_.get()); |
| 124 } | 145 } |
| 125 | 146 |
| 126 bool IBusObjectReader::IsValid() const { | 147 bool IBusObjectReader::IsValid() const { |
| 127 DCHECK_NE(IBUS_OBJECT_NOT_CHECKED, check_result_); | 148 DCHECK_NE(IBUS_OBJECT_NOT_CHECKED, check_result_); |
| 128 return check_result_ == IBUS_OBJECT_VALID; | 149 return check_result_ == IBUS_OBJECT_VALID; |
| 129 } | 150 } |
| 130 | 151 |
| 131 dbus::MessageReader* IBusObjectReader::GetContentsReader() { | |
| 132 DCHECK_NE(IBUS_OBJECT_NOT_CHECKED, check_result_); | |
| 133 DCHECK(contents_reader_.get()); | |
| 134 if (IsValid()) { | |
| 135 return contents_reader_.get(); | |
| 136 } else { | |
| 137 return NULL; | |
| 138 } | |
| 139 } | |
| 140 | |
| 141 /////////////////////////////////////////////////////////////////////////////// | 152 /////////////////////////////////////////////////////////////////////////////// |
| 142 // IBusObjectWriter | 153 // IBusObjectWriter |
| 143 IBusObjectWriter::IBusObjectWriter(const std::string& type_name, | 154 IBusObjectWriter::IBusObjectWriter(const std::string& type_name, |
| 144 const std::string& signature, | 155 const std::string& signature, |
| 145 dbus::MessageWriter* writer) | 156 dbus::MessageWriter* writer) |
| 146 : type_name_(type_name), | 157 : type_name_(type_name), |
| 147 signature_(signature), | 158 signature_(signature), |
| 148 original_writer_(writer) { | 159 original_writer_(writer) { |
| 149 if (original_writer_) | 160 if (original_writer_) |
| 150 Init(); | 161 Init(); |
| (...skipping 21 matching lines...) Expand all Loading... | |
| 172 DCHECK(IsInitialized()); | 183 DCHECK(IsInitialized()); |
| 173 contents_writer_->AppendBool(input); | 184 contents_writer_->AppendBool(input); |
| 174 } | 185 } |
| 175 | 186 |
| 176 void IBusObjectWriter::OpenArray(const std::string& signature, | 187 void IBusObjectWriter::OpenArray(const std::string& signature, |
| 177 dbus::MessageWriter* writer) { | 188 dbus::MessageWriter* writer) { |
| 178 DCHECK(IsInitialized()); | 189 DCHECK(IsInitialized()); |
| 179 contents_writer_->OpenArray(signature, writer); | 190 contents_writer_->OpenArray(signature, writer); |
| 180 } | 191 } |
| 181 | 192 |
| 193 void IBusObjectWriter::AppendIBusText(const IBusText& text) { | |
| 194 DCHECK(IsInitialized()); | |
| 195 chromeos::AppendIBusText(text, contents_writer_.get()); | |
| 196 } | |
| 197 | |
| 198 void IBusObjectWriter::AppendStringAsIBusText(const std::string& text) { | |
| 199 DCHECK(IsInitialized()); | |
| 200 chromeos::AppendStringAsIBusText(text, contents_writer_.get()); | |
| 201 } | |
| 202 | |
| 182 void IBusObjectWriter::CloseContainer(dbus::MessageWriter* writer) { | 203 void IBusObjectWriter::CloseContainer(dbus::MessageWriter* writer) { |
| 183 DCHECK(IsInitialized()); | 204 DCHECK(IsInitialized()); |
| 184 contents_writer_->CloseContainer(writer); | 205 contents_writer_->CloseContainer(writer); |
| 185 } | 206 } |
| 186 | 207 |
| 187 void IBusObjectWriter::AppendIBusObject(IBusObjectWriter* writer) { | 208 void IBusObjectWriter::AppendIBusObject(IBusObjectWriter* writer) { |
| 188 DCHECK(IsInitialized()); | 209 DCHECK(IsInitialized()); |
| 189 DCHECK(!writer->IsInitialized()) << "Given writer is already initialized"; | 210 DCHECK(!writer->IsInitialized()) << "Given writer is already initialized"; |
| 190 | 211 |
| 191 writer->InitWithParentWriter(contents_writer_.get()); | 212 writer->InitWithParentWriter(contents_writer_.get()); |
| (...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 223 top_variant_writer_->CloseContainer(contents_writer_.get()); | 244 top_variant_writer_->CloseContainer(contents_writer_.get()); |
| 224 original_writer_->CloseContainer(top_variant_writer_.get()); | 245 original_writer_->CloseContainer(top_variant_writer_.get()); |
| 225 top_variant_writer_.reset(); | 246 top_variant_writer_.reset(); |
| 226 contents_writer_.reset(); | 247 contents_writer_.reset(); |
| 227 } | 248 } |
| 228 | 249 |
| 229 bool IBusObjectWriter::IsInitialized() const { | 250 bool IBusObjectWriter::IsInitialized() const { |
| 230 return contents_writer_.get() != NULL; | 251 return contents_writer_.get() != NULL; |
| 231 } | 252 } |
| 232 | 253 |
| 233 dbus::MessageWriter* IBusObjectWriter::GetContentsWriter() { | |
| 234 DCHECK(contents_writer_.get()); | |
| 235 if (IsInitialized()) { | |
| 236 return contents_writer_.get(); | |
| 237 } else { | |
| 238 return NULL; | |
| 239 } | |
| 240 } | |
| 241 | |
| 242 } // namespace chromeos | 254 } // namespace chromeos |
| OLD | NEW |