OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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 #ifndef CHROME_BROWSER_SYNC_FILE_SYSTEM_DRIVE_BACKEND_METADATA_DATABASE_H_ | 5 #ifndef CHROME_BROWSER_SYNC_FILE_SYSTEM_DRIVE_BACKEND_METADATA_DATABASE_H_ |
6 #define CHROME_BROWSER_SYNC_FILE_SYSTEM_DRIVE_BACKEND_METADATA_DATABASE_H_ | 6 #define CHROME_BROWSER_SYNC_FILE_SYSTEM_DRIVE_BACKEND_METADATA_DATABASE_H_ |
7 | 7 |
8 #include <map> | 8 #include <map> |
9 #include <set> | 9 #include <set> |
10 #include <string> | 10 #include <string> |
(...skipping 325 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
336 size_t CountFileMetadata() const; | 336 size_t CountFileMetadata() const; |
337 size_t CountFileTracker() const; | 337 size_t CountFileTracker() const; |
338 | 338 |
339 bool GetMultiParentFileTrackers(std::string* file_id, | 339 bool GetMultiParentFileTrackers(std::string* file_id, |
340 TrackerIDSet* trackers); | 340 TrackerIDSet* trackers); |
341 bool GetConflictingTrackers(TrackerIDSet* trackers); | 341 bool GetConflictingTrackers(TrackerIDSet* trackers); |
342 | 342 |
343 // Sets |app_ids| to a list of all registered app ids. | 343 // Sets |app_ids| to a list of all registered app ids. |
344 void GetRegisteredAppIDs(std::vector<std::string>* app_ids); | 344 void GetRegisteredAppIDs(std::vector<std::string>* app_ids); |
345 | 345 |
| 346 // Clears dirty flag of trackers that can be cleared without external |
| 347 // interactien. |
| 348 void SweepDirtyTrackers(const std::vector<std::string>& file_ids, |
| 349 const SyncStatusCallback& callback); |
| 350 |
346 private: | 351 private: |
347 friend class MetadataDatabaseTest; | 352 friend class MetadataDatabaseTest; |
348 struct CreateParam; | 353 struct CreateParam; |
349 | 354 |
350 MetadataDatabase(base::SequencedTaskRunner* worker_task_runner, | 355 MetadataDatabase(base::SequencedTaskRunner* worker_task_runner, |
351 const base::FilePath& database_path, | 356 const base::FilePath& database_path, |
352 leveldb::Env* env_override); | 357 leveldb::Env* env_override); |
353 static void CreateOnWorkerTaskRunner( | 358 static void CreateOnWorkerTaskRunner( |
354 scoped_ptr<CreateParam> create_param, | 359 scoped_ptr<CreateParam> create_param, |
355 const CreateCallback& callback); | 360 const CreateCallback& callback); |
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
395 scoped_ptr<base::ListValue> DumpMetadata(); | 400 scoped_ptr<base::ListValue> DumpMetadata(); |
396 | 401 |
397 void AttachSyncRoot(const google_apis::FileResource& sync_root_folder); | 402 void AttachSyncRoot(const google_apis::FileResource& sync_root_folder); |
398 void AttachInitialAppRoot(const google_apis::FileResource& app_root_folder); | 403 void AttachInitialAppRoot(const google_apis::FileResource& app_root_folder); |
399 | 404 |
400 void ForceActivateTrackerByPath(int64 parent_tracker_id, | 405 void ForceActivateTrackerByPath(int64 parent_tracker_id, |
401 const std::string& title, | 406 const std::string& title, |
402 const std::string& file_id); | 407 const std::string& file_id); |
403 | 408 |
404 void DetachFromSequence(); | 409 void DetachFromSequence(); |
| 410 bool CanClearDirty(const FileTracker& tracker); |
405 | 411 |
406 scoped_refptr<base::SequencedTaskRunner> worker_task_runner_; | 412 scoped_refptr<base::SequencedTaskRunner> worker_task_runner_; |
407 base::FilePath database_path_; | 413 base::FilePath database_path_; |
408 leveldb::Env* env_override_; | 414 leveldb::Env* env_override_; |
409 scoped_ptr<LevelDBWrapper> db_; | 415 scoped_ptr<LevelDBWrapper> db_; |
410 | 416 |
411 int64 largest_known_change_id_; | 417 int64 largest_known_change_id_; |
412 | 418 |
413 scoped_ptr<MetadataDatabaseIndexInterface> index_; | 419 scoped_ptr<MetadataDatabaseIndexInterface> index_; |
414 | 420 |
415 base::WeakPtrFactory<MetadataDatabase> weak_ptr_factory_; | 421 base::WeakPtrFactory<MetadataDatabase> weak_ptr_factory_; |
416 | 422 |
417 base::SequenceChecker worker_sequence_checker_; | 423 base::SequenceChecker worker_sequence_checker_; |
418 | 424 |
419 DISALLOW_COPY_AND_ASSIGN(MetadataDatabase); | 425 DISALLOW_COPY_AND_ASSIGN(MetadataDatabase); |
420 }; | 426 }; |
421 | 427 |
422 } // namespace drive_backend | 428 } // namespace drive_backend |
423 } // namespace sync_file_system | 429 } // namespace sync_file_system |
424 | 430 |
425 #endif // CHROME_BROWSER_SYNC_FILE_SYSTEM_DRIVE_BACKEND_METADATA_DATABASE_H_ | 431 #endif // CHROME_BROWSER_SYNC_FILE_SYSTEM_DRIVE_BACKEND_METADATA_DATABASE_H_ |
OLD | NEW |