| OLD | NEW |
| 1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2010 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 // This file defines the "sync API", an interface to the syncer | 5 // This file defines the "sync API", an interface to the syncer |
| 6 // backend that exposes (1) the core functionality of maintaining a consistent | 6 // backend that exposes (1) the core functionality of maintaining a consistent |
| 7 // local snapshot of a hierarchical object set; (2) a means to transactionally | 7 // local snapshot of a hierarchical object set; (2) a means to transactionally |
| 8 // access and modify those objects; (3) a means to control client/server | 8 // access and modify those objects; (3) a means to control client/server |
| 9 // synchronization tasks, namely: pushing local object modifications to a | 9 // synchronization tasks, namely: pushing local object modifications to a |
| 10 // server, pulling nonlocal object modifications from a server to this client, | 10 // server, pulling nonlocal object modifications from a server to this client, |
| (...skipping 556 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 567 // ChangeRecord indicates a single item that changed as a result of a sync | 567 // ChangeRecord indicates a single item that changed as a result of a sync |
| 568 // operation. This gives the sync id of the node that changed, and the type | 568 // operation. This gives the sync id of the node that changed, and the type |
| 569 // of change. To get the actual property values after an ADD or UPDATE, the | 569 // of change. To get the actual property values after an ADD or UPDATE, the |
| 570 // client should get the node with InitByIdLookup(), using the provided id. | 570 // client should get the node with InitByIdLookup(), using the provided id. |
| 571 struct ChangeRecord { | 571 struct ChangeRecord { |
| 572 enum Action { | 572 enum Action { |
| 573 ACTION_ADD, | 573 ACTION_ADD, |
| 574 ACTION_DELETE, | 574 ACTION_DELETE, |
| 575 ACTION_UPDATE, | 575 ACTION_UPDATE, |
| 576 }; | 576 }; |
| 577 ChangeRecord() : id(kInvalidId), action(ACTION_ADD) {} | 577 ChangeRecord(); |
| 578 ~ChangeRecord(); |
| 579 |
| 578 int64 id; | 580 int64 id; |
| 579 Action action; | 581 Action action; |
| 580 sync_pb::EntitySpecifics specifics; | 582 sync_pb::EntitySpecifics specifics; |
| 581 linked_ptr<ExtraChangeRecordData> extra; | 583 linked_ptr<ExtraChangeRecordData> extra; |
| 582 }; | 584 }; |
| 583 | 585 |
| 584 // Since PasswordSpecifics is just an encrypted blob, we extend to provide | 586 // Since PasswordSpecifics is just an encrypted blob, we extend to provide |
| 585 // access to unencrypted bits. | 587 // access to unencrypted bits. |
| 586 class ExtraPasswordChangeRecordData : public ExtraChangeRecordData { | 588 class ExtraPasswordChangeRecordData : public ExtraChangeRecordData { |
| 587 public: | 589 public: |
| 588 ExtraPasswordChangeRecordData(const sync_pb::PasswordSpecificsData& data) | 590 explicit ExtraPasswordChangeRecordData( |
| 589 : unencrypted_(data) {} | 591 const sync_pb::PasswordSpecificsData& data); |
| 590 virtual ~ExtraPasswordChangeRecordData() {} | 592 virtual ~ExtraPasswordChangeRecordData(); |
| 591 const sync_pb::PasswordSpecificsData& unencrypted() { | 593 const sync_pb::PasswordSpecificsData& unencrypted() { |
| 592 return unencrypted_; | 594 return unencrypted_; |
| 593 } | 595 } |
| 594 private: | 596 private: |
| 595 sync_pb::PasswordSpecificsData unencrypted_; | 597 sync_pb::PasswordSpecificsData unencrypted_; |
| 596 }; | 598 }; |
| 597 | 599 |
| 598 // Status encapsulates detailed state about the internals of the SyncManager. | 600 // Status encapsulates detailed state about the internals of the SyncManager. |
| 599 struct Status { | 601 struct Status { |
| 600 // Summary is a distilled set of important information that the end-user may | 602 // Summary is a distilled set of important information that the end-user may |
| (...skipping 337 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 938 // This allows actual HttpPostProvider subclass implementations to be | 940 // This allows actual HttpPostProvider subclass implementations to be |
| 939 // reference counted, which is useful if a particular implementation uses | 941 // reference counted, which is useful if a particular implementation uses |
| 940 // multiple threads to serve network requests. | 942 // multiple threads to serve network requests. |
| 941 virtual void Destroy(HttpPostProviderInterface* http) = 0; | 943 virtual void Destroy(HttpPostProviderInterface* http) = 0; |
| 942 virtual ~HttpPostProviderFactory() { } | 944 virtual ~HttpPostProviderFactory() { } |
| 943 }; | 945 }; |
| 944 | 946 |
| 945 } // namespace sync_api | 947 } // namespace sync_api |
| 946 | 948 |
| 947 #endif // CHROME_BROWSER_SYNC_ENGINE_SYNCAPI_H_ | 949 #endif // CHROME_BROWSER_SYNC_ENGINE_SYNCAPI_H_ |
| OLD | NEW |