Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(403)

Side by Side Diff: chromeos/dbus/ibus/ibus_object.cc

Issue 10384141: Extends IBusObject. (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Change my mind to add IBusText handling into IBusObject. Created 8 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 "dbus/message.h" 8 #include "dbus/message.h"
9 9
10 namespace chromeos { 10 namespace chromeos {
(...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after
85 DCHECK(contents_reader_.get()); 85 DCHECK(contents_reader_.get());
86 return IsValid() && contents_reader_->PopString(out); 86 return IsValid() && contents_reader_->PopString(out);
87 } 87 }
88 88
89 bool IBusObjectReader::PopUint32(uint32* out) { 89 bool IBusObjectReader::PopUint32(uint32* out) {
90 DCHECK_NE(IBUS_OBJECT_NOT_CHECKED, check_result_); 90 DCHECK_NE(IBUS_OBJECT_NOT_CHECKED, check_result_);
91 DCHECK(contents_reader_.get()); 91 DCHECK(contents_reader_.get());
92 return IsValid() && contents_reader_->PopUint32(out); 92 return IsValid() && contents_reader_->PopUint32(out);
93 } 93 }
94 94
95 bool IBusObjectReader::PopInt32(int32* out) {
96 DCHECK_NE(IBUS_OBJECT_NOT_CHECKED, check_result_);
97 DCHECK(contents_reader_.get());
98 return IsValid() && contents_reader_->PopInt32(out);
99 }
100
101 bool IBusObjectReader::PopBool(bool* out) {
102 DCHECK_NE(IBUS_OBJECT_NOT_CHECKED, check_result_);
103 DCHECK(contents_reader_.get());
104 return IsValid() && contents_reader_->PopBool(out);
105 }
106
95 bool IBusObjectReader::PopArray(dbus::MessageReader* reader) { 107 bool IBusObjectReader::PopArray(dbus::MessageReader* reader) {
96 DCHECK_NE(IBUS_OBJECT_NOT_CHECKED, check_result_); 108 DCHECK_NE(IBUS_OBJECT_NOT_CHECKED, check_result_);
97 DCHECK(contents_reader_.get()); 109 DCHECK(contents_reader_.get());
98 return IsValid() && contents_reader_->PopArray(reader); 110 return IsValid() && contents_reader_->PopArray(reader);
99 } 111 }
100 112
101 bool IBusObjectReader::HasMoreData() { 113 bool IBusObjectReader::HasMoreData() {
102 DCHECK_NE(IBUS_OBJECT_NOT_CHECKED, check_result_); 114 DCHECK_NE(IBUS_OBJECT_NOT_CHECKED, check_result_);
103 DCHECK(contents_reader_.get()); 115 DCHECK(contents_reader_.get());
104 return IsValid() && contents_reader_->HasMoreData(); 116 return IsValid() && contents_reader_->HasMoreData();
105 } 117 }
106 118
107 bool IBusObjectReader::PopIBusObject(IBusObjectReader* reader) { 119 bool IBusObjectReader::PopIBusObject(IBusObjectReader* reader) {
108 DCHECK(contents_reader_.get()); 120 DCHECK(contents_reader_.get());
109 if (!IsValid()) 121 if (!IsValid())
110 return false; 122 return false;
111 return reader->InitWithParentReader(contents_reader_.get()); 123 return reader->InitWithParentReader(contents_reader_.get());
112 } 124 }
113 125
114 bool IBusObjectReader::IsValid() const { 126 bool IBusObjectReader::IsValid() const {
115 DCHECK_NE(IBUS_OBJECT_NOT_CHECKED, check_result_); 127 DCHECK_NE(IBUS_OBJECT_NOT_CHECKED, check_result_);
116 return check_result_ == IBUS_OBJECT_VALID; 128 return check_result_ == IBUS_OBJECT_VALID;
117 } 129 }
118 130
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
119 /////////////////////////////////////////////////////////////////////////////// 141 ///////////////////////////////////////////////////////////////////////////////
120 // IBusObjectWriter 142 // IBusObjectWriter
121 IBusObjectWriter::IBusObjectWriter(const std::string& type_name, 143 IBusObjectWriter::IBusObjectWriter(const std::string& type_name,
122 const std::string& signature, 144 const std::string& signature,
123 dbus::MessageWriter* writer) 145 dbus::MessageWriter* writer)
124 : type_name_(type_name), 146 : type_name_(type_name),
125 signature_(signature), 147 signature_(signature),
126 original_writer_(writer) { 148 original_writer_(writer) {
127 if (original_writer_) 149 if (original_writer_)
128 Init(); 150 Init();
129 } 151 }
130 152
131 IBusObjectWriter::~IBusObjectWriter() { 153 IBusObjectWriter::~IBusObjectWriter() {
132 } 154 }
133 155
134 void IBusObjectWriter::AppendString(const std::string& input) { 156 void IBusObjectWriter::AppendString(const std::string& input) {
135 DCHECK(IsInitialized()); 157 DCHECK(IsInitialized());
136 contents_writer_->AppendString(input); 158 contents_writer_->AppendString(input);
137 } 159 }
138 160
139 void IBusObjectWriter::AppendUint32(uint32 input) { 161 void IBusObjectWriter::AppendUint32(uint32 input) {
140 DCHECK(IsInitialized()); 162 DCHECK(IsInitialized());
141 contents_writer_->AppendUint32(input); 163 contents_writer_->AppendUint32(input);
142 } 164 }
143 165
166 void IBusObjectWriter::AppendInt32(int32 input) {
167 DCHECK(IsInitialized());
168 contents_writer_->AppendInt32(input);
169 }
170
171 void IBusObjectWriter::AppendBool(bool input) {
172 DCHECK(IsInitialized());
173 contents_writer_->AppendBool(input);
174 }
175
144 void IBusObjectWriter::OpenArray(const std::string& signature, 176 void IBusObjectWriter::OpenArray(const std::string& signature,
145 dbus::MessageWriter* writer) { 177 dbus::MessageWriter* writer) {
146 DCHECK(IsInitialized()); 178 DCHECK(IsInitialized());
147 contents_writer_->OpenArray(signature, writer); 179 contents_writer_->OpenArray(signature, writer);
148 } 180 }
149 181
150 void IBusObjectWriter::CloseContainer(dbus::MessageWriter* writer) { 182 void IBusObjectWriter::CloseContainer(dbus::MessageWriter* writer) {
151 DCHECK(IsInitialized()); 183 DCHECK(IsInitialized());
152 contents_writer_->CloseContainer(writer); 184 contents_writer_->CloseContainer(writer);
153 } 185 }
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
191 top_variant_writer_->CloseContainer(contents_writer_.get()); 223 top_variant_writer_->CloseContainer(contents_writer_.get());
192 original_writer_->CloseContainer(top_variant_writer_.get()); 224 original_writer_->CloseContainer(top_variant_writer_.get());
193 top_variant_writer_.reset(); 225 top_variant_writer_.reset();
194 contents_writer_.reset(); 226 contents_writer_.reset();
195 } 227 }
196 228
197 bool IBusObjectWriter::IsInitialized() const { 229 bool IBusObjectWriter::IsInitialized() const {
198 return contents_writer_.get() != NULL; 230 return contents_writer_.get() != NULL;
199 } 231 }
200 232
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
201 } // namespace chromeos 242 } // namespace chromeos
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698