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 |