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 SyncStatusCallback& callback); |
| 349 |
346 private: | 350 private: |
347 friend class MetadataDatabaseTest; | 351 friend class MetadataDatabaseTest; |
348 struct CreateParam; | 352 struct CreateParam; |
349 | 353 |
350 MetadataDatabase(base::SequencedTaskRunner* worker_task_runner, | 354 MetadataDatabase(base::SequencedTaskRunner* worker_task_runner, |
351 const base::FilePath& database_path, | 355 const base::FilePath& database_path, |
352 leveldb::Env* env_override); | 356 leveldb::Env* env_override); |
353 static void CreateOnWorkerTaskRunner( | 357 static void CreateOnWorkerTaskRunner( |
354 scoped_ptr<CreateParam> create_param, | 358 scoped_ptr<CreateParam> create_param, |
355 const CreateCallback& callback); | 359 const CreateCallback& callback); |
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
396 | 400 |
397 void AttachSyncRoot(const google_apis::FileResource& sync_root_folder); | 401 void AttachSyncRoot(const google_apis::FileResource& sync_root_folder); |
398 void AttachInitialAppRoot(const google_apis::FileResource& app_root_folder); | 402 void AttachInitialAppRoot(const google_apis::FileResource& app_root_folder); |
399 | 403 |
400 void ForceActivateTrackerByPath(int64 parent_tracker_id, | 404 void ForceActivateTrackerByPath(int64 parent_tracker_id, |
401 const std::string& title, | 405 const std::string& title, |
402 const std::string& file_id); | 406 const std::string& file_id); |
403 | 407 |
404 void DetachFromSequence(); | 408 void DetachFromSequence(); |
405 | 409 |
| 410 void VisitTrackerToSweep(std::vector<int64>* tracker_ids, int64 tracker_id); |
| 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 |