| OLD | NEW | 
|---|
| 1 // Copyright 2012 The Chromium Authors. All rights reserved. | 1 // Copyright 2012 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_SYNC_SYNCABLE_ENTRY_KERNEL_H_ | 5 #ifndef COMPONENTS_SYNC_SYNCABLE_ENTRY_KERNEL_H_ | 
| 6 #define COMPONENTS_SYNC_SYNCABLE_ENTRY_KERNEL_H_ | 6 #define COMPONENTS_SYNC_SYNCABLE_ENTRY_KERNEL_H_ | 
| 7 | 7 | 
| 8 #include <stdint.h> | 8 #include <stdint.h> | 
| 9 | 9 | 
| 10 #include <algorithm> | 10 #include <algorithm> | 
| (...skipping 207 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 218 | 218 | 
| 219   // Set the dirty bit, and optionally add this entry's metahandle to | 219   // Set the dirty bit, and optionally add this entry's metahandle to | 
| 220   // a provided index on dirty bits in |dirty_index|. Parameter may be null, | 220   // a provided index on dirty bits in |dirty_index|. Parameter may be null, | 
| 221   // and will result only in setting the dirty bit of this entry. | 221   // and will result only in setting the dirty bit of this entry. | 
| 222   inline void mark_dirty(syncable::MetahandleSet* dirty_index) { | 222   inline void mark_dirty(syncable::MetahandleSet* dirty_index) { | 
| 223     if (!dirty_ && dirty_index) { | 223     if (!dirty_ && dirty_index) { | 
| 224       DCHECK_NE(0, ref(META_HANDLE)); | 224       DCHECK_NE(0, ref(META_HANDLE)); | 
| 225       dirty_index->insert(ref(META_HANDLE)); | 225       dirty_index->insert(ref(META_HANDLE)); | 
| 226     } | 226     } | 
| 227     dirty_ = true; | 227     dirty_ = true; | 
|  | 228     memory_usage_ = kMemoryUsageUnknown; | 
| 228   } | 229   } | 
| 229 | 230 | 
| 230   // Clear the dirty bit, and optionally remove this entry's metahandle from | 231   // Clear the dirty bit, and optionally remove this entry's metahandle from | 
| 231   // a provided index on dirty bits in |dirty_index|. Parameter may be null, | 232   // a provided index on dirty bits in |dirty_index|. Parameter may be null, | 
| 232   // and will result only in clearing dirty bit of this entry. | 233   // and will result only in clearing dirty bit of this entry. | 
| 233   inline void clear_dirty(syncable::MetahandleSet* dirty_index) { | 234   inline void clear_dirty(syncable::MetahandleSet* dirty_index) { | 
| 234     if (dirty_ && dirty_index) { | 235     if (dirty_ && dirty_index) { | 
| 235       DCHECK_NE(0, ref(META_HANDLE)); | 236       DCHECK_NE(0, ref(META_HANDLE)); | 
| 236       dirty_index->erase(ref(META_HANDLE)); | 237       dirty_index->erase(ref(META_HANDLE)); | 
| 237     } | 238     } | 
| (...skipping 132 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 370   bool ShouldMaintainPosition() const; | 371   bool ShouldMaintainPosition() const; | 
| 371   bool ShouldMaintainHierarchy() const; | 372   bool ShouldMaintainHierarchy() const; | 
| 372 | 373 | 
| 373   // Dumps all kernel info into a DictionaryValue and returns it. | 374   // Dumps all kernel info into a DictionaryValue and returns it. | 
| 374   // Transfers ownership of the DictionaryValue to the caller. | 375   // Transfers ownership of the DictionaryValue to the caller. | 
| 375   // Note: |cryptographer| is an optional parameter for use in decrypting | 376   // Note: |cryptographer| is an optional parameter for use in decrypting | 
| 376   // encrypted specifics. If it is NULL or the specifics are not decryptsble, | 377   // encrypted specifics. If it is NULL or the specifics are not decryptsble, | 
| 377   // they will be serialized as empty proto's. | 378   // they will be serialized as empty proto's. | 
| 378   base::DictionaryValue* ToValue(Cryptographer* cryptographer) const; | 379   base::DictionaryValue* ToValue(Cryptographer* cryptographer) const; | 
| 379 | 380 | 
|  | 381   size_t EstimateMemoryUsage() const; | 
|  | 382 | 
| 380  private: | 383  private: | 
| 381   // Tracks whether this entry needs to be saved to the database. | 384   // Tracks whether this entry needs to be saved to the database. | 
| 382   bool dirty_; | 385   bool dirty_; | 
|  | 386   mutable size_t memory_usage_; | 
|  | 387   constexpr static size_t kMemoryUsageUnknown = -1; | 
| 383 }; | 388 }; | 
| 384 | 389 | 
| 385 template <typename T> | 390 template <typename T> | 
| 386 class EntryKernelLessByMetaHandle { | 391 class EntryKernelLessByMetaHandle { | 
| 387  public: | 392  public: | 
| 388   inline bool operator()(T a, T b) const { | 393   inline bool operator()(T a, T b) const { | 
| 389     return a->ref(META_HANDLE) < b->ref(META_HANDLE); | 394     return a->ref(META_HANDLE) < b->ref(META_HANDLE); | 
| 390   } | 395   } | 
| 391 }; | 396 }; | 
| 392 | 397 | 
| (...skipping 19 matching lines...) Expand all  Loading... | 
| 412 | 417 | 
| 413 std::unique_ptr<base::ListValue> EntryKernelMutationMapToValue( | 418 std::unique_ptr<base::ListValue> EntryKernelMutationMapToValue( | 
| 414     const EntryKernelMutationMap& mutations); | 419     const EntryKernelMutationMap& mutations); | 
| 415 | 420 | 
| 416 std::ostream& operator<<(std::ostream& os, const EntryKernel& entry_kernel); | 421 std::ostream& operator<<(std::ostream& os, const EntryKernel& entry_kernel); | 
| 417 | 422 | 
| 418 }  // namespace syncable | 423 }  // namespace syncable | 
| 419 }  // namespace syncer | 424 }  // namespace syncer | 
| 420 | 425 | 
| 421 #endif  // COMPONENTS_SYNC_SYNCABLE_ENTRY_KERNEL_H_ | 426 #endif  // COMPONENTS_SYNC_SYNCABLE_ENTRY_KERNEL_H_ | 
| OLD | NEW | 
|---|