blob: 37ccc4cfd98053666b21acb63692ec2b2916cb01 [file] [log] [blame]
// Copyright 2015 The Chromium OS Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "settingsd/mock_locked_settings.h"
#include "settingsd/mock_settings_document.h"
namespace settingsd {
MockLockedVersionComponent::MockLockedVersionComponent() {}
MockLockedVersionComponent::~MockLockedVersionComponent() {}
std::unique_ptr<MockLockedVersionComponent> MockLockedVersionComponent::Clone()
const {
std::unique_ptr<MockLockedVersionComponent> copy(
new MockLockedVersionComponent);
copy->source_id_ = source_id_;
copy->valid_ = valid_;
return copy;
}
std::string MockLockedVersionComponent::GetSourceId() const {
return source_id_;
}
void MockLockedVersionComponent::SetSourceId(const std::string& source_id) {
source_id_ = source_id;
}
MockLockedSettingsContainer::MockLockedSettingsContainer(
std::unique_ptr<MockSettingsDocument> payload)
: payload_(std::move(payload)) {}
MockLockedSettingsContainer::~MockLockedSettingsContainer() {}
std::unique_ptr<MockLockedSettingsContainer>
MockLockedSettingsContainer::Clone() const {
std::unique_ptr<MockLockedSettingsContainer> copy(
new MockLockedSettingsContainer(payload_ ? payload_->Clone() : nullptr));
for (const auto& entry : version_component_blobs_) {
copy->version_component_blobs_.insert(
std::make_pair(entry.first, entry.second->Clone()));
}
copy->valid_ = valid_;
return copy;
}
std::vector<const LockedVersionComponent*>
MockLockedSettingsContainer::GetVersionComponents() const {
std::vector<const LockedVersionComponent*> result;
for (auto& entry : version_component_blobs_)
result.push_back(entry.second.get());
return result;
}
std::unique_ptr<SettingsDocument>
MockLockedSettingsContainer::DecodePayloadInternal() {
return std::unique_ptr<SettingsDocument>(std::move(payload_));
}
MockLockedVersionComponent* MockLockedSettingsContainer::GetVersionComponent(
const std::string& source_id) {
std::unique_ptr<MockLockedVersionComponent>& blob =
version_component_blobs_[source_id];
if (!blob)
blob.reset(new MockLockedVersionComponent());
return blob.get();
}
} // namespace settingsd