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()12MetadataBatch::MetadataBatch() {} 13 MetadataBatch(MetadataBatch && other)14MetadataBatch::MetadataBatch(MetadataBatch&& other) 15 : metadata_map_(std::move(other.metadata_map_)) { 16 other.state_.Swap(&state_); 17 } 18 ~MetadataBatch()19MetadataBatch::~MetadataBatch() {} 20 GetAllMetadata() const21const EntityMetadataMap& MetadataBatch::GetAllMetadata() const { 22 return metadata_map_; 23 } 24 TakeAllMetadata()25EntityMetadataMap MetadataBatch::TakeAllMetadata() { 26 return std::move(metadata_map_); 27 } 28 AddMetadata(const std::string & storage_key,std::unique_ptr<sync_pb::EntityMetadata> metadata)29void 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() const35const sync_pb::ModelTypeState& MetadataBatch::GetModelTypeState() const { 36 return state_; 37 } 38 SetModelTypeState(const sync_pb::ModelTypeState & state)39void MetadataBatch::SetModelTypeState(const sync_pb::ModelTypeState& state) { 40 state_ = state; 41 } 42 43 } // namespace syncer 44