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 COMPONENTS_INVALIDATION_PUBLIC_OBJECT_ID_INVALIDATION_MAP_H_ | 5 #ifndef COMPONENTS_INVALIDATION_PUBLIC_OBJECT_ID_INVALIDATION_MAP_H_ |
6 #define COMPONENTS_INVALIDATION_PUBLIC_OBJECT_ID_INVALIDATION_MAP_H_ | 6 #define COMPONENTS_INVALIDATION_PUBLIC_OBJECT_ID_INVALIDATION_MAP_H_ |
7 | 7 |
8 #include <map> | 8 #include <map> |
9 #include <vector> | 9 #include <vector> |
10 | 10 |
11 #include "components/invalidation/public/invalidation.h" | 11 #include "components/invalidation/public/invalidation.h" |
12 #include "components/invalidation/public/invalidation_export.h" | 12 #include "components/invalidation/public/invalidation_export.h" |
13 #include "components/invalidation/public/invalidation_util.h" | 13 #include "components/invalidation/public/invalidation_util.h" |
14 #include "components/invalidation/public/single_object_invalidation_set.h" | 14 #include "components/invalidation/public/single_object_invalidation_set.h" |
15 | 15 |
16 namespace syncer { | 16 namespace syncer { |
17 | 17 |
18 // A set of notifications with some helper methods to organize them by object ID | 18 // A set of notifications with some helper methods to organize them by object ID |
19 // and version number. | 19 // and version number. |
20 class INVALIDATION_EXPORT ObjectIdInvalidationMap { | 20 class INVALIDATION_EXPORT ObjectIdInvalidationMap { |
21 public: | 21 public: |
22 // Creates an invalidation map that includes an 'unknown version' | 22 // Creates an invalidation map that includes an 'unknown version' |
23 // invalidation for each specified ID in |ids|. | 23 // invalidation for each specified ID in |ids|. |
24 static ObjectIdInvalidationMap InvalidateAll(const ObjectIdSet& ids); | 24 static ObjectIdInvalidationMap InvalidateAll(const ObjectIdSet& ids); |
25 | 25 |
26 ObjectIdInvalidationMap(); | 26 ObjectIdInvalidationMap(); |
| 27 ObjectIdInvalidationMap(const ObjectIdInvalidationMap& other); |
27 ~ObjectIdInvalidationMap(); | 28 ~ObjectIdInvalidationMap(); |
28 | 29 |
29 // Returns set of ObjectIds for which at least one invalidation is present. | 30 // Returns set of ObjectIds for which at least one invalidation is present. |
30 ObjectIdSet GetObjectIds() const; | 31 ObjectIdSet GetObjectIds() const; |
31 | 32 |
32 // Returns true if this map contains no invalidations. | 33 // Returns true if this map contains no invalidations. |
33 bool Empty() const; | 34 bool Empty() const; |
34 | 35 |
35 // Returns true if both maps contain the same set of invalidations. | 36 // Returns true if both maps contain the same set of invalidations. |
36 bool operator==(const ObjectIdInvalidationMap& other) const; | 37 bool operator==(const ObjectIdInvalidationMap& other) const; |
(...skipping 30 matching lines...) Expand all Loading... |
67 ObjectIdLessThan> IdToListMap; | 68 ObjectIdLessThan> IdToListMap; |
68 | 69 |
69 ObjectIdInvalidationMap(const IdToListMap& map); | 70 ObjectIdInvalidationMap(const IdToListMap& map); |
70 | 71 |
71 IdToListMap map_; | 72 IdToListMap map_; |
72 }; | 73 }; |
73 | 74 |
74 } // namespace syncer | 75 } // namespace syncer |
75 | 76 |
76 #endif // COMPONENTS_INVALIDATION_PUBLIC_OBJECT_ID_INVALIDATION_MAP_H_ | 77 #endif // COMPONENTS_INVALIDATION_PUBLIC_OBJECT_ID_INVALIDATION_MAP_H_ |
OLD | NEW |