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

Side by Side Diff: device/media_transfer_protocol/media_transfer_protocol_daemon_client.cc

Issue 378263002: Devices: Remove MTP functions that use file paths. (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: Created 6 years, 5 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 | Annotate | Revision Log
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 "device/media_transfer_protocol/media_transfer_protocol_daemon_client.h " 5 #include "device/media_transfer_protocol/media_transfer_protocol_daemon_client.h "
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/memory/weak_ptr.h" 8 #include "base/memory/weak_ptr.h"
9 #include "dbus/bus.h" 9 #include "dbus/bus.h"
10 #include "dbus/message.h" 10 #include "dbus/message.h"
(...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after
89 writer.AppendString(handle); 89 writer.AppendString(handle);
90 proxy_->CallMethod( 90 proxy_->CallMethod(
91 &method_call, dbus::ObjectProxy::TIMEOUT_USE_DEFAULT, 91 &method_call, dbus::ObjectProxy::TIMEOUT_USE_DEFAULT,
92 base::Bind(&MediaTransferProtocolDaemonClientImpl::OnCloseStorage, 92 base::Bind(&MediaTransferProtocolDaemonClientImpl::OnCloseStorage,
93 weak_ptr_factory_.GetWeakPtr(), 93 weak_ptr_factory_.GetWeakPtr(),
94 callback, 94 callback,
95 error_callback)); 95 error_callback));
96 } 96 }
97 97
98 // MediaTransferProtocolDaemonClient override. 98 // MediaTransferProtocolDaemonClient override.
99 virtual void ReadDirectoryByPath(
100 const std::string& handle,
101 const std::string& path,
102 const ReadDirectoryCallback& callback,
103 const ErrorCallback& error_callback) OVERRIDE {
104 dbus::MethodCall method_call(mtpd::kMtpdInterface,
105 mtpd::kReadDirectoryByPath);
106 dbus::MessageWriter writer(&method_call);
107 writer.AppendString(handle);
108 writer.AppendString(path);
109 proxy_->CallMethod(
110 &method_call, dbus::ObjectProxy::TIMEOUT_USE_DEFAULT,
111 base::Bind(&MediaTransferProtocolDaemonClientImpl::OnReadDirectory,
112 weak_ptr_factory_.GetWeakPtr(),
113 callback,
114 error_callback));
115 }
116
117 // MediaTransferProtocolDaemonClient override.
118 virtual void ReadDirectoryById( 99 virtual void ReadDirectoryById(
119 const std::string& handle, 100 const std::string& handle,
120 uint32 file_id, 101 uint32 file_id,
121 const ReadDirectoryCallback& callback, 102 const ReadDirectoryCallback& callback,
122 const ErrorCallback& error_callback) OVERRIDE { 103 const ErrorCallback& error_callback) OVERRIDE {
123 dbus::MethodCall method_call(mtpd::kMtpdInterface, 104 dbus::MethodCall method_call(mtpd::kMtpdInterface,
124 mtpd::kReadDirectoryById); 105 mtpd::kReadDirectoryById);
125 dbus::MessageWriter writer(&method_call); 106 dbus::MessageWriter writer(&method_call);
126 writer.AppendString(handle); 107 writer.AppendString(handle);
127 writer.AppendUint32(file_id); 108 writer.AppendUint32(file_id);
128 proxy_->CallMethod( 109 proxy_->CallMethod(
129 &method_call, dbus::ObjectProxy::TIMEOUT_USE_DEFAULT, 110 &method_call, dbus::ObjectProxy::TIMEOUT_USE_DEFAULT,
130 base::Bind(&MediaTransferProtocolDaemonClientImpl::OnReadDirectory, 111 base::Bind(&MediaTransferProtocolDaemonClientImpl::OnReadDirectory,
131 weak_ptr_factory_.GetWeakPtr(), 112 weak_ptr_factory_.GetWeakPtr(),
132 callback, 113 callback,
133 error_callback)); 114 error_callback));
134 } 115 }
135 116
136 // MediaTransferProtocolDaemonClient override. 117 // MediaTransferProtocolDaemonClient override.
137 virtual void ReadFileChunkByPath(
138 const std::string& handle,
139 const std::string& path,
140 uint32 offset,
141 uint32 bytes_to_read,
142 const ReadFileCallback& callback,
143 const ErrorCallback& error_callback) OVERRIDE {
144 DCHECK_LE(bytes_to_read, kMaxChunkSize);
145 dbus::MethodCall method_call(mtpd::kMtpdInterface,
146 mtpd::kReadFileChunkByPath);
147 dbus::MessageWriter writer(&method_call);
148 writer.AppendString(handle);
149 writer.AppendString(path);
150 writer.AppendUint32(offset);
151 writer.AppendUint32(bytes_to_read);
152 proxy_->CallMethod(
153 &method_call, dbus::ObjectProxy::TIMEOUT_USE_DEFAULT,
154 base::Bind(&MediaTransferProtocolDaemonClientImpl::OnReadFile,
155 weak_ptr_factory_.GetWeakPtr(),
156 callback,
157 error_callback));
158 }
159
160 // MediaTransferProtocolDaemonClient override.
161 virtual void ReadFileChunkById(const std::string& handle, 118 virtual void ReadFileChunkById(const std::string& handle,
162 uint32 file_id, 119 uint32 file_id,
163 uint32 offset, 120 uint32 offset,
164 uint32 bytes_to_read, 121 uint32 bytes_to_read,
165 const ReadFileCallback& callback, 122 const ReadFileCallback& callback,
166 const ErrorCallback& error_callback) OVERRIDE { 123 const ErrorCallback& error_callback) OVERRIDE {
167 DCHECK_LE(bytes_to_read, kMaxChunkSize); 124 DCHECK_LE(bytes_to_read, kMaxChunkSize);
168 dbus::MethodCall method_call(mtpd::kMtpdInterface, 125 dbus::MethodCall method_call(mtpd::kMtpdInterface,
169 mtpd::kReadFileChunkById); 126 mtpd::kReadFileChunkById);
170 dbus::MessageWriter writer(&method_call); 127 dbus::MessageWriter writer(&method_call);
171 writer.AppendString(handle); 128 writer.AppendString(handle);
172 writer.AppendUint32(file_id); 129 writer.AppendUint32(file_id);
173 writer.AppendUint32(offset); 130 writer.AppendUint32(offset);
174 writer.AppendUint32(bytes_to_read); 131 writer.AppendUint32(bytes_to_read);
175 proxy_->CallMethod( 132 proxy_->CallMethod(
176 &method_call, dbus::ObjectProxy::TIMEOUT_USE_DEFAULT, 133 &method_call, dbus::ObjectProxy::TIMEOUT_USE_DEFAULT,
177 base::Bind(&MediaTransferProtocolDaemonClientImpl::OnReadFile, 134 base::Bind(&MediaTransferProtocolDaemonClientImpl::OnReadFile,
178 weak_ptr_factory_.GetWeakPtr(), 135 weak_ptr_factory_.GetWeakPtr(),
179 callback, 136 callback,
180 error_callback)); 137 error_callback));
181 } 138 }
182 139
183 // MediaTransferProtocolDaemonClient override. 140 // MediaTransferProtocolDaemonClient override.
184 virtual void GetFileInfoByPath(const std::string& handle,
185 const std::string& path,
186 const GetFileInfoCallback& callback,
187 const ErrorCallback& error_callback) OVERRIDE {
188 dbus::MethodCall method_call(mtpd::kMtpdInterface,
189 mtpd::kGetFileInfoByPath);
190 dbus::MessageWriter writer(&method_call);
191 writer.AppendString(handle);
192 writer.AppendString(path);
193 proxy_->CallMethod(
194 &method_call, dbus::ObjectProxy::TIMEOUT_USE_DEFAULT,
195 base::Bind(&MediaTransferProtocolDaemonClientImpl::OnGetFileInfo,
196 weak_ptr_factory_.GetWeakPtr(),
197 callback,
198 error_callback));
199 }
200
201 // MediaTransferProtocolDaemonClient override.
202 virtual void GetFileInfoById(const std::string& handle, 141 virtual void GetFileInfoById(const std::string& handle,
203 uint32 file_id, 142 uint32 file_id,
204 const GetFileInfoCallback& callback, 143 const GetFileInfoCallback& callback,
205 const ErrorCallback& error_callback) OVERRIDE { 144 const ErrorCallback& error_callback) OVERRIDE {
206 dbus::MethodCall method_call(mtpd::kMtpdInterface, mtpd::kGetFileInfoById); 145 dbus::MethodCall method_call(mtpd::kMtpdInterface, mtpd::kGetFileInfoById);
207 dbus::MessageWriter writer(&method_call); 146 dbus::MessageWriter writer(&method_call);
208 writer.AppendString(handle); 147 writer.AppendString(handle);
209 writer.AppendUint32(file_id); 148 writer.AppendUint32(file_id);
210 proxy_->CallMethod( 149 proxy_->CallMethod(
211 &method_call, dbus::ObjectProxy::TIMEOUT_USE_DEFAULT, 150 &method_call, dbus::ObjectProxy::TIMEOUT_USE_DEFAULT,
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after
266 } 205 }
267 callback.Run(storage_names); 206 callback.Run(storage_names);
268 } 207 }
269 208
270 // Handles the result of GetStorageInfo and calls |callback| or 209 // Handles the result of GetStorageInfo and calls |callback| or
271 // |error_callback|. 210 // |error_callback|.
272 void OnGetStorageInfo(const std::string& storage_name, 211 void OnGetStorageInfo(const std::string& storage_name,
273 const GetStorageInfoCallback& callback, 212 const GetStorageInfoCallback& callback,
274 const ErrorCallback& error_callback, 213 const ErrorCallback& error_callback,
275 dbus::Response* response) { 214 dbus::Response* response) {
215 LOG(ERROR) << "Client OnGetStorageInfo " << storage_name;
276 if (!response) { 216 if (!response) {
277 error_callback.Run(); 217 error_callback.Run();
278 return; 218 return;
279 } 219 }
280 220
281 dbus::MessageReader reader(response); 221 dbus::MessageReader reader(response);
282 MtpStorageInfo protobuf; 222 MtpStorageInfo protobuf;
283 if (!reader.PopArrayOfBytesAsProto(&protobuf)) { 223 if (!reader.PopArrayOfBytesAsProto(&protobuf)) {
284 LOG(ERROR) << kInvalidResponseMsg << response->ToString(); 224 LOG(ERROR) << kInvalidResponseMsg << response->ToString();
285 error_callback.Run(); 225 error_callback.Run();
(...skipping 25 matching lines...) Expand all
311 void OnCloseStorage(const CloseStorageCallback& callback, 251 void OnCloseStorage(const CloseStorageCallback& callback,
312 const ErrorCallback& error_callback, 252 const ErrorCallback& error_callback,
313 dbus::Response* response) { 253 dbus::Response* response) {
314 if (!response) { 254 if (!response) {
315 error_callback.Run(); 255 error_callback.Run();
316 return; 256 return;
317 } 257 }
318 callback.Run(); 258 callback.Run();
319 } 259 }
320 260
321 // Handles the result of ReadDirectoryByPath/Id and calls |callback| or 261 // Handles the result of ReadDirectoryById and calls |callback| or
322 // |error_callback|. 262 // |error_callback|.
323 void OnReadDirectory(const ReadDirectoryCallback& callback, 263 void OnReadDirectory(const ReadDirectoryCallback& callback,
324 const ErrorCallback& error_callback, 264 const ErrorCallback& error_callback,
325 dbus::Response* response) { 265 dbus::Response* response) {
326 if (!response) { 266 if (!response) {
327 error_callback.Run(); 267 error_callback.Run();
328 return; 268 return;
329 } 269 }
330 270
331 std::vector<MtpFileEntry> file_entries; 271 std::vector<MtpFileEntry> file_entries;
332 dbus::MessageReader reader(response); 272 dbus::MessageReader reader(response);
333 MtpFileEntries entries_protobuf; 273 MtpFileEntries entries_protobuf;
334 if (!reader.PopArrayOfBytesAsProto(&entries_protobuf)) { 274 if (!reader.PopArrayOfBytesAsProto(&entries_protobuf)) {
335 LOG(ERROR) << kInvalidResponseMsg << response->ToString(); 275 LOG(ERROR) << kInvalidResponseMsg << response->ToString();
336 error_callback.Run(); 276 error_callback.Run();
337 return; 277 return;
338 } 278 }
339 279
340 for (int i = 0; i < entries_protobuf.file_entries_size(); ++i) 280 for (int i = 0; i < entries_protobuf.file_entries_size(); ++i)
341 file_entries.push_back(entries_protobuf.file_entries(i)); 281 file_entries.push_back(entries_protobuf.file_entries(i));
342 callback.Run(file_entries); 282 callback.Run(file_entries);
343 } 283 }
344 284
345 // Handles the result of ReadFileChunkByPath/Id and calls |callback| or 285 // Handles the result of ReadFileChunkById and calls |callback| or
346 // |error_callback|. 286 // |error_callback|.
347 void OnReadFile(const ReadFileCallback& callback, 287 void OnReadFile(const ReadFileCallback& callback,
348 const ErrorCallback& error_callback, 288 const ErrorCallback& error_callback,
349 dbus::Response* response) { 289 dbus::Response* response) {
350 if (!response) { 290 if (!response) {
351 error_callback.Run(); 291 error_callback.Run();
352 return; 292 return;
353 } 293 }
354 294
355 const uint8* data_bytes = NULL; 295 const uint8* data_bytes = NULL;
356 size_t data_length = 0; 296 size_t data_length = 0;
357 dbus::MessageReader reader(response); 297 dbus::MessageReader reader(response);
358 if (!reader.PopArrayOfBytes(&data_bytes, &data_length)) { 298 if (!reader.PopArrayOfBytes(&data_bytes, &data_length)) {
359 error_callback.Run(); 299 error_callback.Run();
360 return; 300 return;
361 } 301 }
362 std::string data(reinterpret_cast<const char*>(data_bytes), data_length); 302 std::string data(reinterpret_cast<const char*>(data_bytes), data_length);
363 callback.Run(data); 303 callback.Run(data);
364 } 304 }
365 305
366 // Handles the result of GetFileInfoByPath/Id and calls |callback| or 306 // Handles the result of GetFileInfoById and calls |callback| or
367 // |error_callback|. 307 // |error_callback|.
368 void OnGetFileInfo(const GetFileInfoCallback& callback, 308 void OnGetFileInfo(const GetFileInfoCallback& callback,
369 const ErrorCallback& error_callback, 309 const ErrorCallback& error_callback,
370 dbus::Response* response) { 310 dbus::Response* response) {
371 if (!response) { 311 if (!response) {
372 error_callback.Run(); 312 error_callback.Run();
373 return; 313 return;
374 } 314 }
375 315
376 dbus::MessageReader reader(response); 316 dbus::MessageReader reader(response);
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after
426 366
427 MediaTransferProtocolDaemonClient::~MediaTransferProtocolDaemonClient() {} 367 MediaTransferProtocolDaemonClient::~MediaTransferProtocolDaemonClient() {}
428 368
429 // static 369 // static
430 MediaTransferProtocolDaemonClient* MediaTransferProtocolDaemonClient::Create( 370 MediaTransferProtocolDaemonClient* MediaTransferProtocolDaemonClient::Create(
431 dbus::Bus* bus) { 371 dbus::Bus* bus) {
432 return new MediaTransferProtocolDaemonClientImpl(bus); 372 return new MediaTransferProtocolDaemonClientImpl(bus);
433 } 373 }
434 374
435 } // namespace device 375 } // namespace device
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698