| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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_TRACKER_ID_SET_H_ | 5 #ifndef CHROME_BROWSER_SYNC_FILE_SYSTEM_DRIVE_BACKEND_TRACKER_ID_SET_H_ |
| 6 #define CHROME_BROWSER_SYNC_FILE_SYSTEM_DRIVE_BACKEND_TRACKER_ID_SET_H_ | 6 #define CHROME_BROWSER_SYNC_FILE_SYSTEM_DRIVE_BACKEND_TRACKER_ID_SET_H_ |
| 7 | 7 |
| 8 #include <stddef.h> | 8 #include <stddef.h> |
| 9 #include <stdint.h> | 9 #include <stdint.h> |
| 10 | 10 |
| 11 #include <set> | 11 #include <set> |
| 12 | 12 |
| 13 | 13 |
| 14 namespace sync_file_system { | 14 namespace sync_file_system { |
| 15 namespace drive_backend { | 15 namespace drive_backend { |
| 16 | 16 |
| 17 class FileTracker; | 17 class FileTracker; |
| 18 | 18 |
| 19 class TrackerIDSet { | 19 class TrackerIDSet { |
| 20 public: | 20 public: |
| 21 typedef std::set<int64_t> RawTrackerIDSet; | 21 typedef std::set<int64_t> RawTrackerIDSet; |
| 22 typedef RawTrackerIDSet::iterator iterator; | 22 typedef RawTrackerIDSet::iterator iterator; |
| 23 typedef RawTrackerIDSet::const_iterator const_iterator; | 23 typedef RawTrackerIDSet::const_iterator const_iterator; |
| 24 | 24 |
| 25 TrackerIDSet(); | 25 TrackerIDSet(); |
| 26 TrackerIDSet(const TrackerIDSet& other); |
| 26 ~TrackerIDSet(); | 27 ~TrackerIDSet(); |
| 27 | 28 |
| 28 bool has_active() const { return !!active_tracker_; } | 29 bool has_active() const { return !!active_tracker_; } |
| 29 void Insert(const FileTracker& tracker); | 30 void Insert(const FileTracker& tracker); |
| 30 void InsertActiveTracker(int64_t tracker_id); | 31 void InsertActiveTracker(int64_t tracker_id); |
| 31 void InsertInactiveTracker(int64_t tracker_id); | 32 void InsertInactiveTracker(int64_t tracker_id); |
| 32 void Erase(int64_t tracker_id); | 33 void Erase(int64_t tracker_id); |
| 33 void Activate(int64_t tracker_id); | 34 void Activate(int64_t tracker_id); |
| 34 void Deactivate(int64_t tracker_id); | 35 void Deactivate(int64_t tracker_id); |
| 35 | 36 |
| 36 int64_t active_tracker() const { return active_tracker_; } | 37 int64_t active_tracker() const { return active_tracker_; } |
| 37 const RawTrackerIDSet& tracker_set() const { return tracker_ids_; } | 38 const RawTrackerIDSet& tracker_set() const { return tracker_ids_; } |
| 38 | 39 |
| 39 iterator begin() { return tracker_ids_.begin(); } | 40 iterator begin() { return tracker_ids_.begin(); } |
| 40 iterator end() { return tracker_ids_.end(); } | 41 iterator end() { return tracker_ids_.end(); } |
| 41 const_iterator begin() const { return tracker_ids_.begin(); } | 42 const_iterator begin() const { return tracker_ids_.begin(); } |
| 42 const_iterator end() const { return tracker_ids_.end(); } | 43 const_iterator end() const { return tracker_ids_.end(); } |
| 43 bool empty() const { return tracker_ids_.empty(); } | 44 bool empty() const { return tracker_ids_.empty(); } |
| 44 size_t size() const { return tracker_ids_.size(); } | 45 size_t size() const { return tracker_ids_.size(); } |
| 45 | 46 |
| 46 private: | 47 private: |
| 47 int64_t active_tracker_; | 48 int64_t active_tracker_; |
| 48 RawTrackerIDSet tracker_ids_; | 49 RawTrackerIDSet tracker_ids_; |
| 49 }; | 50 }; |
| 50 | 51 |
| 51 } // namespace drive_backend | 52 } // namespace drive_backend |
| 52 } // namespace sync_file_system | 53 } // namespace sync_file_system |
| 53 | 54 |
| 54 #endif // CHROME_BROWSER_SYNC_FILE_SYSTEM_DRIVE_BACKEND_TRACKER_ID_SET_H_ | 55 #endif // CHROME_BROWSER_SYNC_FILE_SYSTEM_DRIVE_BACKEND_TRACKER_ID_SET_H_ |
| OLD | NEW |