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

Side by Side Diff: chrome/browser/chromeos/gdata/gdata_directory_service.cc

Issue 10855243: child_files_ and child_directories_ have resource_ids instead of GDataFile* and GDataDirectory*. (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: rebase Created 8 years, 4 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
« no previous file with comments | « no previous file | chrome/browser/chromeos/gdata/gdata_files.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 "chrome/browser/chromeos/gdata/gdata_directory_service.h" 5 #include "chrome/browser/chromeos/gdata/gdata_directory_service.h"
6 6
7 #include <leveldb/db.h> 7 #include <leveldb/db.h>
8 #include <utility> 8 #include <utility>
9 9
10 #include "base/message_loop_proxy.h" 10 #include "base/message_loop_proxy.h"
(...skipping 282 matching lines...) Expand 10 before | Expand all | Expand 10 after
293 GDataEntry* GDataDirectoryService::FindEntryByPathSync( 293 GDataEntry* GDataDirectoryService::FindEntryByPathSync(
294 const FilePath& file_path) { 294 const FilePath& file_path) {
295 if (file_path == root_->GetFilePath()) 295 if (file_path == root_->GetFilePath())
296 return root_.get(); 296 return root_.get();
297 297
298 std::vector<FilePath::StringType> components; 298 std::vector<FilePath::StringType> components;
299 file_path.GetComponents(&components); 299 file_path.GetComponents(&components);
300 GDataDirectory* current_dir = root_.get(); 300 GDataDirectory* current_dir = root_.get();
301 301
302 for (size_t i = 1; i < components.size() && current_dir; ++i) { 302 for (size_t i = 1; i < components.size() && current_dir; ++i) {
303 GDataEntry* entry = current_dir->FindChild(components[i]); 303 std::string resource_id = current_dir->FindChild(components[i]);
304 if (!entry) 304 if (resource_id.empty())
305 return NULL; 305 return NULL;
306 306
307 GDataEntry* entry = GetEntryByResourceId(resource_id);
308 DCHECK(entry);
309
307 if (i == components.size() - 1) // Last component. 310 if (i == components.size() - 1) // Last component.
308 return entry; 311 return entry;
309 else 312 else
310 current_dir = entry->AsGDataDirectory(); 313 current_dir = entry->AsGDataDirectory();
311 } 314 }
312 return NULL; 315 return NULL;
313 } 316 }
314 317
315 GDataEntry* GDataDirectoryService::GetEntryByResourceId( 318 GDataEntry* GDataDirectoryService::GetEntryByResourceId(
316 const std::string& resource) { 319 const std::string& resource_id) {
317 // GDataFileSystem has already locked. 320 DCHECK(!resource_id.empty());
318 ResourceMap::const_iterator iter = resource_map_.find(resource); 321 ResourceMap::const_iterator iter = resource_map_.find(resource_id);
319 return iter == resource_map_.end() ? NULL : iter->second; 322 return iter == resource_map_.end() ? NULL : iter->second;
320 } 323 }
321 324
322 void GDataDirectoryService::GetEntryByResourceIdAsync( 325 void GDataDirectoryService::GetEntryByResourceIdAsync(
323 const std::string& resource_id, 326 const std::string& resource_id,
324 const GetEntryByResourceIdCallback& callback) { 327 const GetEntryByResourceIdCallback& callback) {
325 GDataEntry* entry = GetEntryByResourceId(resource_id); 328 GDataEntry* entry = GetEntryByResourceId(resource_id);
326 callback.Run(entry); 329 callback.Run(entry);
327 } 330 }
328 331
(...skipping 391 matching lines...) Expand 10 before | Expand all | Expand 10 after
720 DCHECK(result.get()); 723 DCHECK(result.get());
721 724
722 result->second.path = second_path; 725 result->second.path = second_path;
723 result->second.error = error; 726 result->second.error = error;
724 result->second.proto = entry_proto.Pass(); 727 result->second.proto = entry_proto.Pass();
725 728
726 callback.Run(result.Pass()); 729 callback.Run(result.Pass());
727 } 730 }
728 731
729 } // namespace gdata 732 } // namespace gdata
OLDNEW
« no previous file with comments | « no previous file | chrome/browser/chromeos/gdata/gdata_files.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698