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

Side by Side Diff: sync/internal_api/public/processor_entity_tracker.h

Issue 1866243002: Convert //sync from scoped_ptr to std::unique_ptr (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 8 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
OLDNEW
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 SYNC_INTERNAL_API_PUBLIC_PROCESSOR_ENTITY_TRACKER_H_ 5 #ifndef SYNC_INTERNAL_API_PUBLIC_PROCESSOR_ENTITY_TRACKER_H_
6 #define SYNC_INTERNAL_API_PUBLIC_PROCESSOR_ENTITY_TRACKER_H_ 6 #define SYNC_INTERNAL_API_PUBLIC_PROCESSOR_ENTITY_TRACKER_H_
7 7
8 #include <stdint.h> 8 #include <stdint.h>
9 9
10 #include <memory>
10 #include <string> 11 #include <string>
11 12
12 #include "base/memory/scoped_ptr.h"
13 #include "base/time/time.h" 13 #include "base/time/time.h"
14 #include "sync/api/entity_data.h" 14 #include "sync/api/entity_data.h"
15 #include "sync/base/sync_export.h" 15 #include "sync/base/sync_export.h"
16 #include "sync/protocol/entity_metadata.pb.h" 16 #include "sync/protocol/entity_metadata.pb.h"
17 17
18 namespace syncer_v2 { 18 namespace syncer_v2 {
19 struct CommitRequestData; 19 struct CommitRequestData;
20 struct UpdateResponseData; 20 struct UpdateResponseData;
21 21
22 // This class is used by the SharedModelTypeProcessor to track the state of each 22 // This class is used by the SharedModelTypeProcessor to track the state of each
23 // entity with its type. It can be considered a helper class internal to the 23 // entity with its type. It can be considered a helper class internal to the
24 // processor. It manages the metadata for its entity and caches entity data 24 // processor. It manages the metadata for its entity and caches entity data
25 // upon a local change until commit confirmation is received. 25 // upon a local change until commit confirmation is received.
26 class SYNC_EXPORT ProcessorEntityTracker { 26 class SYNC_EXPORT ProcessorEntityTracker {
27 public: 27 public:
28 // Construct an instance representing a new locally-created item. 28 // Construct an instance representing a new locally-created item.
29 static scoped_ptr<ProcessorEntityTracker> CreateNew( 29 static std::unique_ptr<ProcessorEntityTracker> CreateNew(
30 const std::string& client_tag, 30 const std::string& client_tag,
31 const std::string& client_tag_hash, 31 const std::string& client_tag_hash,
32 const std::string& id, 32 const std::string& id,
33 base::Time creation_time); 33 base::Time creation_time);
34 34
35 // Construct an instance representing an item loaded from storage on init. 35 // Construct an instance representing an item loaded from storage on init.
36 // This method swaps out the contents of |metadata|. 36 // This method swaps out the contents of |metadata|.
37 static scoped_ptr<ProcessorEntityTracker> CreateFromMetadata( 37 static std::unique_ptr<ProcessorEntityTracker> CreateFromMetadata(
38 const std::string& client_tag, 38 const std::string& client_tag,
39 sync_pb::EntityMetadata* metadata); 39 sync_pb::EntityMetadata* metadata);
40 40
41 ~ProcessorEntityTracker(); 41 ~ProcessorEntityTracker();
42 42
43 const std::string& client_tag() const { return client_tag_; } 43 const std::string& client_tag() const { return client_tag_; }
44 const sync_pb::EntityMetadata& metadata() const { return metadata_; } 44 const sync_pb::EntityMetadata& metadata() const { return metadata_; }
45 const EntityDataPtr& commit_data() const { return commit_data_; } 45 const EntityDataPtr& commit_data() const { return commit_data_; }
46 46
47 // Returns true if this data is out of sync with the server. 47 // Returns true if this data is out of sync with the server.
(...skipping 23 matching lines...) Expand all
71 void RecordIgnoredUpdate(const UpdateResponseData& response_data); 71 void RecordIgnoredUpdate(const UpdateResponseData& response_data);
72 72
73 // Records an update from the server assuming its data is the new data for 73 // Records an update from the server assuming its data is the new data for
74 // this entity. 74 // this entity.
75 void RecordAcceptedUpdate(const UpdateResponseData& response_data); 75 void RecordAcceptedUpdate(const UpdateResponseData& response_data);
76 76
77 // Squashes a pending commit with an update from the server. 77 // Squashes a pending commit with an update from the server.
78 void RecordForcedUpdate(const UpdateResponseData& response_data); 78 void RecordForcedUpdate(const UpdateResponseData& response_data);
79 79
80 // Applies a local change to this item. 80 // Applies a local change to this item.
81 void MakeLocalChange(scoped_ptr<EntityData> data); 81 void MakeLocalChange(std::unique_ptr<EntityData> data);
82 82
83 // Schedule a commit if the |name| does not match this item's last known 83 // Schedule a commit if the |name| does not match this item's last known
84 // encryption key. The worker that performs the commit is expected to 84 // encryption key. The worker that performs the commit is expected to
85 // encrypt the item using the latest available key. 85 // encrypt the item using the latest available key.
86 void UpdateDesiredEncryptionKey(const std::string& name); 86 void UpdateDesiredEncryptionKey(const std::string& name);
87 87
88 // Applies a local deletion to this item. 88 // Applies a local deletion to this item.
89 void Delete(); 89 void Delete();
90 90
91 // Initializes a message representing this item's uncommitted state 91 // Initializes a message representing this item's uncommitted state
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after
155 155
156 // TODO(stanisc): this should be removed. 156 // TODO(stanisc): this should be removed.
157 // The name of the encryption key used to encrypt this item on the server. 157 // The name of the encryption key used to encrypt this item on the server.
158 // Empty when no encryption is in use. 158 // Empty when no encryption is in use.
159 std::string encryption_key_name_; 159 std::string encryption_key_name_;
160 }; 160 };
161 161
162 } // namespace syncer_v2 162 } // namespace syncer_v2
163 163
164 #endif // SYNC_INTERNAL_API_PUBLIC_PROCESSOR_ENTITY_TRACKER_H_ 164 #endif // SYNC_INTERNAL_API_PUBLIC_PROCESSOR_ENTITY_TRACKER_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698