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

Side by Side Diff: sync/api/sync_change.h

Issue 10698141: Revert 145993 - [Sync] Add location parameter to SyncChange in Sync API. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Created 8 years, 5 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 (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 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 SYNC_API_SYNC_CHANGE_H_ 5 #ifndef SYNC_API_SYNC_CHANGE_H_
6 #define SYNC_API_SYNC_CHANGE_H_ 6 #define SYNC_API_SYNC_CHANGE_H_
7 #pragma once 7 #pragma once
8 8
9 #include <iosfwd> 9 #include <iosfwd>
10 #include <string> 10 #include <string>
11 #include <vector> 11 #include <vector>
12 12
13 #include "base/location.h"
14 #include "sync/api/sync_data.h" 13 #include "sync/api/sync_data.h"
15 14
16 namespace syncer { 15 namespace syncer {
17 16
18 // A SyncChange object reflects a change to a piece of synced data. The change 17 // A SyncChange object reflects a change to a piece of synced data. The change
19 // can be either a delete, add, or an update. All data relevant to the change 18 // can be either a delete, add, or an update. All data relevant to the change
20 // is encapsulated within the SyncChange, which, once created, is immutable. 19 // is encapsulated within the SyncChange, which, once created, is immutable.
21 // Note: it is safe and cheap to pass these by value or make copies, as they do 20 // Note: it is safe and cheap to pass these by value or make copies, as they do
22 // not create deep copies of their internal data. 21 // not create deep copies of their internal data.
23 class SyncChange { 22 class SyncChange {
24 public: 23 public:
25 enum SyncChangeType { 24 enum SyncChangeType {
26 ACTION_INVALID, 25 ACTION_INVALID,
27 ACTION_ADD, 26 ACTION_ADD,
28 ACTION_UPDATE, 27 ACTION_UPDATE,
29 ACTION_DELETE 28 ACTION_DELETE
30 }; 29 };
31 30
32 // Default constructor creates an invalid change. 31 // Default constructor creates an invalid change.
33 SyncChange(); 32 SyncChange();
34 // Create a new change with the specified sync data. 33 // Create a new change with the specified sync data.
35 SyncChange( 34 SyncChange(SyncChangeType change_type, const SyncData& sync_data);
36 const tracked_objects::Location& from_here,
37 SyncChangeType change_type,
38 const SyncData& sync_data);
39 ~SyncChange(); 35 ~SyncChange();
40 36
41 // Copy constructor and assignment operator welcome. 37 // Copy constructor and assignment operator welcome.
42 38
43 // Whether this change is valid. This must be true before attempting to access 39 // Whether this change is valid. This must be true before attempting to access
44 // the data. 40 // the data.
45 // Deletes: Requires valid tag when going to the syncer. Requires valid 41 // Deletes: Requires valid tag when going to the syncer. Requires valid
46 // specifics when coming from the syncer. 42 // specifics when coming from the syncer.
47 // Adds, Updates: Require valid tag and specifics when going to the syncer. 43 // Adds, Updates: Require valid tag and specifics when going to the syncer.
48 // Require only valid specifics when coming from the syncer. 44 // Require only valid specifics when coming from the syncer.
49 bool IsValid() const; 45 bool IsValid() const;
50 46
51 // Getters. 47 // Getters.
52 SyncChangeType change_type() const; 48 SyncChangeType change_type() const;
53 SyncData sync_data() const; 49 SyncData sync_data() const;
54 50
55 // Returns a string representation of |change_type|. 51 // Returns a string representation of |change_type|.
56 static std::string ChangeTypeToString(SyncChangeType change_type); 52 static std::string ChangeTypeToString(SyncChangeType change_type);
57 53
58 // Returns a string representation of the entire object. Used for gmock 54 // Returns a string representation of the entire object. Used for gmock
59 // printing method, PrintTo. 55 // printing method, PrintTo.
60 std::string ToString() const; 56 std::string ToString() const;
61 57
62 private: 58 private:
63 tracked_objects::Location location_;
64
65 SyncChangeType change_type_; 59 SyncChangeType change_type_;
66 60
67 // An immutable container for the data of this SyncChange. Whenever 61 // An immutable container for the data of this SyncChange. Whenever
68 // SyncChanges are copied, they copy references to this data. 62 // SyncChanges are copied, they copy references to this data.
69 SyncData sync_data_; 63 SyncData sync_data_;
70 }; 64 };
71 65
72 // gmock printer helper. 66 // gmock printer helper.
73 void PrintTo(const SyncChange& sync_change, std::ostream* os); 67 void PrintTo(const SyncChange& sync_change, std::ostream* os);
74 68
75 } // namespace syncer 69 } // namespace syncer
76 70
77 #endif // SYNC_API_SYNC_CHANGE_H_ 71 #endif // SYNC_API_SYNC_CHANGE_H_
OLDNEW
« no previous file with comments | « chrome/browser/webdata/autofill_profile_syncable_service_unittest.cc ('k') | sync/api/sync_change.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698