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

Side by Side Diff: chrome/browser/sync_file_system/drive_backend/metadata_database.h

Issue 443793003: [SyncFS] Clear dirty flag on changelist application phase (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 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
OLDNEW
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
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
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_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698