1 // Copyright 2016 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4 
5 #include "components/sync/model/metadata_batch.h"
6 
7 #include <memory>
8 #include <utility>
9 
10 namespace syncer {
11 
MetadataBatch()12 MetadataBatch::MetadataBatch() {}
13 
MetadataBatch(MetadataBatch && other)14 MetadataBatch::MetadataBatch(MetadataBatch&& other)
15     : metadata_map_(std::move(other.metadata_map_)) {
16   other.state_.Swap(&state_);
17 }
18 
~MetadataBatch()19 MetadataBatch::~MetadataBatch() {}
20 
GetAllMetadata() const21 const EntityMetadataMap& MetadataBatch::GetAllMetadata() const {
22   return metadata_map_;
23 }
24 
TakeAllMetadata()25 EntityMetadataMap MetadataBatch::TakeAllMetadata() {
26   return std::move(metadata_map_);
27 }
28 
AddMetadata(const std::string & storage_key,std::unique_ptr<sync_pb::EntityMetadata> metadata)29 void MetadataBatch::AddMetadata(
30     const std::string& storage_key,
31     std::unique_ptr<sync_pb::EntityMetadata> metadata) {
32   metadata_map_.insert(std::make_pair(storage_key, std::move(metadata)));
33 }
34 
GetModelTypeState() const35 const sync_pb::ModelTypeState& MetadataBatch::GetModelTypeState() const {
36   return state_;
37 }
38 
SetModelTypeState(const sync_pb::ModelTypeState & state)39 void MetadataBatch::SetModelTypeState(const sync_pb::ModelTypeState& state) {
40   state_ = state;
41 }
42 
43 }  // namespace syncer
44