| Index: sync/api/metadata_change_list.h
|
| diff --git a/sync/api/metadata_change_list.h b/sync/api/metadata_change_list.h
|
| index e4435a83f386f75dc8ad380d29b6ae9854899b18..a8c0d95e3aeb730e26f7e9f73e0fcba647697c06 100644
|
| --- a/sync/api/metadata_change_list.h
|
| +++ b/sync/api/metadata_change_list.h
|
| @@ -5,15 +5,45 @@
|
| #ifndef SYNC_API_METADATA_CHANGE_LIST_H_
|
| #define SYNC_API_METADATA_CHANGE_LIST_H_
|
|
|
| +#include <string>
|
| +
|
| #include "sync/base/sync_export.h"
|
|
|
| +namespace sync_pb {
|
| +class EntityMetadata;
|
| +} // namespace sync_pb
|
| +
|
| namespace syncer_v2 {
|
| +struct DataTypeState;
|
|
|
| // Interface used by the processor and service to communicate about metadata.
|
| +// The purpose of the interface is to record changes to data type global and
|
| +// per entity metadata for the purpose of propagating changes to the datatype
|
| +// specific storage implementation.
|
| +// The implementation of the interface is supposed to keep the record of all
|
| +// updated / deleted metadata records and provide a mechanism to enumerate
|
| +// them. If there are multiple UpdateMetadata / ClearMetadata calls made for the
|
| +// same metadata record the last one is supposed to win.
|
| class SYNC_EXPORT MetadataChangeList {
|
| public:
|
| MetadataChangeList() {}
|
| virtual ~MetadataChangeList() {}
|
| +
|
| + // Requests DataTypeState to be updated in the storage.
|
| + virtual void UpdateDataTypeState(const DataTypeState& data_type_state) = 0;
|
| +
|
| + // Requests DataTypeState to be cleared from the storage.
|
| + virtual void ClearDataTypeState() = 0;
|
| +
|
| + // Requests metadata entry to be updated in the storage.
|
| + // Please note that the update might contain a deleted entry if
|
| + // metadata.is_deleted() is true (as opposed to clearing the entry from the
|
| + // storage completely by calling the Clear method).
|
| + virtual void UpdateMetadata(const std::string& client_tag,
|
| + const sync_pb::EntityMetadata& metadata) = 0;
|
| +
|
| + // Requests metadata entry to be cleared from the storage.
|
| + virtual void ClearMetadata(const std::string& client_tag) = 0;
|
| };
|
|
|
| } // namespace syncer_v2
|
|
|