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

Side by Side Diff: chrome/browser/chromeos/drive/drive_resource_metadata.cc

Issue 11106007: drive: Rename 'gdata' namespace to 'drive' in chrome/browser/chromeos/drive (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebase Created 8 years, 2 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 "chrome/browser/chromeos/drive/drive_resource_metadata.h" 5 #include "chrome/browser/chromeos/drive/drive_resource_metadata.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"
11 #include "base/string_number_conversions.h" 11 #include "base/string_number_conversions.h"
12 #include "base/sequenced_task_runner.h" 12 #include "base/sequenced_task_runner.h"
13 #include "base/tracked_objects.h" 13 #include "base/tracked_objects.h"
14 #include "chrome/browser/chromeos/drive/drive.pb.h" 14 #include "chrome/browser/chromeos/drive/drive.pb.h"
15 #include "chrome/browser/chromeos/drive/drive_files.h" 15 #include "chrome/browser/chromeos/drive/drive_files.h"
16 #include "chrome/browser/google_apis/gdata_util.h" 16 #include "chrome/browser/google_apis/gdata_util.h"
17 #include "chrome/browser/google_apis/gdata_wapi_parser.h" 17 #include "chrome/browser/google_apis/gdata_wapi_parser.h"
18 #include "content/public/browser/browser_thread.h" 18 #include "content/public/browser/browser_thread.h"
19 19
20 using content::BrowserThread; 20 using content::BrowserThread;
21 21
22 namespace gdata { 22 namespace drive {
23 namespace { 23 namespace {
24 24
25 // m: prefix for filesystem metadata db keys, version and largest_changestamp. 25 // m: prefix for filesystem metadata db keys, version and largest_changestamp.
26 // r: prefix for resource id db keys. 26 // r: prefix for resource id db keys.
27 const char kDBKeyLargestChangestamp[] = "m:largest_changestamp"; 27 const char kDBKeyLargestChangestamp[] = "m:largest_changestamp";
28 const char kDBKeyVersion[] = "m:version"; 28 const char kDBKeyVersion[] = "m:version";
29 const char kDBKeyResourceIdPrefix[] = "r:"; 29 const char kDBKeyResourceIdPrefix[] = "r:";
30 30
31 // Posts |error| to |callback| asynchronously. |callback| must not be null. 31 // Posts |error| to |callback| asynchronously. |callback| must not be null.
32 void PostFileMoveCallbackError(const FileMoveCallback& callback, 32 void PostFileMoveCallbackError(const FileMoveCallback& callback,
(...skipping 146 matching lines...) Expand 10 before | Expand all | Expand 10 after
179 179
180 // DriveResourceMetadata class implementation. 180 // DriveResourceMetadata class implementation.
181 181
182 DriveResourceMetadata::DriveResourceMetadata() 182 DriveResourceMetadata::DriveResourceMetadata()
183 : blocking_task_runner_(NULL), 183 : blocking_task_runner_(NULL),
184 serialized_size_(0), 184 serialized_size_(0),
185 largest_changestamp_(0), 185 largest_changestamp_(0),
186 origin_(UNINITIALIZED), 186 origin_(UNINITIALIZED),
187 ALLOW_THIS_IN_INITIALIZER_LIST(weak_ptr_factory_(this)) { 187 ALLOW_THIS_IN_INITIALIZER_LIST(weak_ptr_factory_(this)) {
188 root_ = CreateDriveDirectory().Pass(); 188 root_ = CreateDriveDirectory().Pass();
189 if (!util::IsDriveV2ApiEnabled()) 189 if (!gdata::util::IsDriveV2ApiEnabled())
190 InitializeRootEntry(kDriveRootDirectoryResourceId); 190 InitializeRootEntry(kDriveRootDirectoryResourceId);
191 } 191 }
192 192
193 DriveResourceMetadata::~DriveResourceMetadata() { 193 DriveResourceMetadata::~DriveResourceMetadata() {
194 ClearRoot(); 194 ClearRoot();
195 195
196 // Ensure db is closed on the blocking pool. 196 // Ensure db is closed on the blocking pool.
197 if (blocking_task_runner_ && resource_metadata_db_.get()) 197 if (blocking_task_runner_ && resource_metadata_db_.get())
198 blocking_task_runner_->DeleteSoon(FROM_HERE, 198 blocking_task_runner_->DeleteSoon(FROM_HERE,
199 resource_metadata_db_.release()); 199 resource_metadata_db_.release());
200 } 200 }
201 201
202 scoped_ptr<DriveEntry> DriveResourceMetadata::FromDocumentEntry( 202 scoped_ptr<DriveEntry> DriveResourceMetadata::FromDocumentEntry(
203 const DocumentEntry& doc) { 203 const gdata::DocumentEntry& doc) {
204 scoped_ptr<DriveEntry> entry; 204 scoped_ptr<DriveEntry> entry;
205 if (doc.is_folder()) 205 if (doc.is_folder())
206 entry = CreateDriveDirectory().Pass(); 206 entry = CreateDriveDirectory().Pass();
207 else if (doc.is_hosted_document() || doc.is_file()) 207 else if (doc.is_hosted_document() || doc.is_file())
208 entry = CreateDriveFile().Pass(); 208 entry = CreateDriveFile().Pass();
209 209
210 if (entry.get()) 210 if (entry.get())
211 entry->InitFromDocumentEntry(doc); 211 entry->InitFromDocumentEntry(doc);
212 return entry.Pass(); 212 return entry.Pass();
213 } 213 }
(...skipping 22 matching lines...) Expand all
236 // so we need to delete them here. 236 // so we need to delete them here.
237 root_->RemoveChildren(); 237 root_->RemoveChildren();
238 RemoveEntryFromResourceMap(root_->resource_id()); 238 RemoveEntryFromResourceMap(root_->resource_id());
239 DCHECK(resource_map_.empty()); 239 DCHECK(resource_map_.empty());
240 resource_map_.clear(); 240 resource_map_.clear();
241 root_.reset(); 241 root_.reset();
242 } 242 }
243 243
244 void DriveResourceMetadata::AddEntryToDirectory( 244 void DriveResourceMetadata::AddEntryToDirectory(
245 const FilePath& directory_path, 245 const FilePath& directory_path,
246 scoped_ptr<DocumentEntry> doc_entry, 246 scoped_ptr<gdata::DocumentEntry> doc_entry,
247 const FileMoveCallback& callback) { 247 const FileMoveCallback& callback) {
248 DCHECK(!directory_path.empty()); 248 DCHECK(!directory_path.empty());
249 DCHECK(!callback.is_null()); 249 DCHECK(!callback.is_null());
250 250
251 if (!doc_entry.get()) { 251 if (!doc_entry.get()) {
252 PostFileMoveCallbackError(callback, DRIVE_FILE_ERROR_FAILED); 252 PostFileMoveCallbackError(callback, DRIVE_FILE_ERROR_FAILED);
253 return; 253 return;
254 } 254 }
255 255
256 scoped_ptr<DriveEntry> new_entry = FromDocumentEntry(*doc_entry); 256 scoped_ptr<DriveEntry> new_entry = FromDocumentEntry(*doc_entry);
(...skipping 249 matching lines...) Expand 10 before | Expand all | Expand 10 after
506 GetEntryInfoByPath( 506 GetEntryInfoByPath(
507 first_path, 507 first_path,
508 base::Bind(&DriveResourceMetadata::GetEntryInfoPairByPathsAfterGetFirst, 508 base::Bind(&DriveResourceMetadata::GetEntryInfoPairByPathsAfterGetFirst,
509 weak_ptr_factory_.GetWeakPtr(), 509 weak_ptr_factory_.GetWeakPtr(),
510 first_path, 510 first_path,
511 second_path, 511 second_path,
512 callback)); 512 callback));
513 } 513 }
514 514
515 void DriveResourceMetadata::RefreshFile( 515 void DriveResourceMetadata::RefreshFile(
516 scoped_ptr<DocumentEntry> doc_entry, 516 scoped_ptr<gdata::DocumentEntry> doc_entry,
517 const GetEntryInfoWithFilePathCallback& callback) { 517 const GetEntryInfoWithFilePathCallback& callback) {
518 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 518 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
519 DCHECK(!callback.is_null()); 519 DCHECK(!callback.is_null());
520 520
521 if (!doc_entry.get()) { 521 if (!doc_entry.get()) {
522 PostGetEntryInfoWithFilePathCallbackError( 522 PostGetEntryInfoWithFilePathCallbackError(
523 callback, DRIVE_FILE_ERROR_FAILED); 523 callback, DRIVE_FILE_ERROR_FAILED);
524 return; 524 return;
525 } 525 }
526 526
(...skipping 337 matching lines...) Expand 10 before | Expand all | Expand 10 after
864 DCHECK(!callback.is_null()); 864 DCHECK(!callback.is_null());
865 DCHECK(result.get()); 865 DCHECK(result.get());
866 866
867 result->second.path = second_path; 867 result->second.path = second_path;
868 result->second.error = error; 868 result->second.error = error;
869 result->second.proto = entry_proto.Pass(); 869 result->second.proto = entry_proto.Pass();
870 870
871 callback.Run(result.Pass()); 871 callback.Run(result.Pass());
872 } 872 }
873 873
874 } // namespace gdata 874 } // namespace drive
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698