blob: fa464d655c03aca479e56b0f7f7b51b7bfca3a20 [file] [log] [blame]
// Copyright 2021 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "components/services/storage/public/cpp/buckets/bucket_info.h"
#include <algorithm>
namespace storage {
BucketInfo::BucketInfo(BucketId bucket_id,
blink::StorageKey storage_key,
std::string name,
base::Time expiration,
int64_t quota,
bool persistent,
blink::mojom::BucketDurability durability)
: id(std::move(bucket_id)),
storage_key(std::move(storage_key)),
name(std::move(name)),
expiration(std::move(expiration)),
quota(quota),
persistent(persistent),
durability(durability) {}
BucketInfo::BucketInfo() = default;
BucketInfo::~BucketInfo() = default;
BucketInfo::BucketInfo(const BucketInfo&) = default;
BucketInfo::BucketInfo(BucketInfo&&) noexcept = default;
BucketInfo& BucketInfo::operator=(const BucketInfo&) = default;
BucketInfo& BucketInfo::operator=(BucketInfo&&) noexcept = default;
bool operator==(const BucketInfo& lhs, const BucketInfo& rhs) {
return lhs.id == rhs.id;
}
bool operator<(const BucketInfo& lhs, const BucketInfo& rhs) {
return lhs.id < rhs.id;
}
std::set<BucketLocator> COMPONENT_EXPORT(STORAGE_SERVICE_BUCKETS_SUPPORT)
BucketInfosToBucketLocators(const std::set<BucketInfo>& bucket_infos) {
std::set<BucketLocator> result;
std::ranges::transform(bucket_infos, std::inserter(result, result.begin()),
&BucketInfo::ToBucketLocator);
return result;
}
} // namespace storage