1717#include " firestore/src/include/firebase/firestore/local_cache_settings.h"
1818#include < memory>
1919
20- #include " Firestore/core/src/api/settings.h"
2120#include " firestore/src/common/hard_assert_common.h"
2221#if defined(__ANDROID__)
2322#else
2726namespace firebase {
2827namespace firestore {
2928
30- namespace {
31- using CoreCacheSettings = api::LocalCacheSettings;
32- using CorePersistentSettings = api::PersistentCacheSettings;
33- using CoreMemorySettings = api::MemoryCacheSettings;
34- using CoreMemoryGarbageCollectorSettings = api::MemoryGargabeCollectorSettings;
35- using CoreMemoryEagerGcSettings = api::MemoryEagerGcSettings;
36- using CoreMemoryLruGcSettings = api::MemoryLruGcSettings;
37- } // namespace
38-
3929PersistentCacheSettings PersistentCacheSettings::Create () { return {}; }
4030
4131PersistentCacheSettings::PersistentCacheSettings () {
42- settings_internal_ = std::make_shared<PersistentCacheSettingsInternal>(
43- CorePersistentSettings{});
32+ settings_internal_ = std::make_shared<PersistentCacheSettingsInternal>();
4433}
4534
4635PersistentCacheSettings PersistentCacheSettings::WithSizeBytes (
4736 int64_t size) const {
48- PersistentCacheSettings new_settings{*this };
49- new_settings.settings_internal_ ->set_core_settings (
50- new_settings.settings_internal_ ->core_settings ().WithSizeBytes (size));
37+ PersistentCacheSettings new_settings;
38+ new_settings.settings_internal_ =
39+ std::make_shared<PersistentCacheSettingsInternal>(
40+ this ->settings_internal_ ->WithSizeBytes (size));
5141 return new_settings;
5242}
5343
5444int64_t PersistentCacheSettings::size_bytes () const {
55- return settings_internal_->core_settings (). size_bytes ();
45+ return settings_internal_->size_bytes ();
5646}
5747
58- const CoreCacheSettings & PersistentCacheSettings::core_settings () const {
59- return settings_internal_-> core_settings () ;
48+ const LocalCacheSettingsInternal & PersistentCacheSettings::internal () const {
49+ return * settings_internal_;
6050}
6151
6252MemoryEagerGCSettings MemoryEagerGCSettings::Create () { return {}; }
6353
6454MemoryEagerGCSettings::MemoryEagerGCSettings () {
65- settings_internal_ = std::make_shared<MemoryEagerGCSettingsInternal>(
66- CoreMemoryEagerGcSettings{});
55+ settings_internal_ = std::make_shared<MemoryEagerGCSettingsInternal>();
6756}
6857
69- const CoreMemoryGarbageCollectorSettings & MemoryEagerGCSettings::core_settings ()
58+ const MemoryGarbageCollectorSettingsInternal & MemoryEagerGCSettings::internal ()
7059 const {
71- return settings_internal_-> core_settings () ;
60+ return * settings_internal_;
7261}
7362
7463MemoryLruGCSettings MemoryLruGCSettings::Create () { return {}; }
7564
7665MemoryLruGCSettings::MemoryLruGCSettings () {
77- settings_internal_ =
78- std::make_shared<MemoryLruGCSettingsInternal>(CoreMemoryLruGcSettings{});
66+ settings_internal_ = std::make_shared<MemoryLruGCSettingsInternal>();
7967}
8068
8169MemoryLruGCSettings::MemoryLruGCSettings (
@@ -84,42 +72,41 @@ MemoryLruGCSettings::MemoryLruGCSettings(
8472}
8573
8674MemoryLruGCSettings MemoryLruGCSettings::WithSizeBytes (int64_t size) {
87- return {MemoryLruGCSettingsInternal{
88- settings_internal_->core_settings ().WithSizeBytes (size)}};
75+ MemoryLruGCSettings result;
76+ result.settings_internal_ = std::make_shared<MemoryLruGCSettingsInternal>(
77+ this ->settings_internal_ ->WithSizeBytes (size));
78+ return result;
8979}
9080
9181int64_t MemoryLruGCSettings::size_bytes () const {
92- return settings_internal_->core_settings (). size_bytes ();
82+ return settings_internal_->size_bytes ();
9383}
9484
95- const CoreMemoryGarbageCollectorSettings & MemoryLruGCSettings::core_settings ()
85+ const MemoryGarbageCollectorSettingsInternal & MemoryLruGCSettings::internal ()
9686 const {
97- return settings_internal_-> core_settings () ;
87+ return * settings_internal_;
9888}
9989
10090MemoryCacheSettings MemoryCacheSettings::Create () { return {}; }
10191
10292MemoryCacheSettings::MemoryCacheSettings () {
103- settings_internal_ =
104- std::make_shared<MemoryCacheSettingsInternal>(CoreMemorySettings{});
93+ settings_internal_ = std::make_shared<MemoryCacheSettingsInternal>();
10594}
10695
10796MemoryCacheSettings MemoryCacheSettings::WithGarbageCollectorSettings (
10897 const MemoryGarbageCollectorSettings& settings) const {
109- MemoryCacheSettings result{*this };
110- CoreMemorySettings core_settings = result.settings_internal_ ->core_settings ();
111- result.settings_internal_ ->set_core_settings (
112- core_settings.WithMemoryGarbageCollectorSettings (
113- settings.core_settings ()));
98+ MemoryCacheSettings result;
99+ result.settings_internal_ = std::make_shared<MemoryCacheSettingsInternal>(
100+ this ->settings_internal_ ->WithGarbageCollectorSettings (settings));
114101 return result;
115102}
116103
117- const CoreCacheSettings & MemoryCacheSettings::core_settings () const {
118- return settings_internal_-> core_settings () ;
104+ const LocalCacheSettingsInternal & MemoryCacheSettings::internal () const {
105+ return * settings_internal_;
119106}
120107
121108bool operator ==(const LocalCacheSettings& lhs, const LocalCacheSettings& rhs) {
122- return lhs.kind () == rhs.kind () && lhs.core_settings () == rhs.core_settings ();
109+ return lhs.kind () == rhs.kind () && lhs.internal () == rhs.internal ();
123110}
124111
125112bool operator ==(const MemoryCacheSettings& lhs,
@@ -134,7 +121,7 @@ bool operator==(const PersistentCacheSettings& lhs,
134121
135122bool operator ==(const MemoryGarbageCollectorSettings& lhs,
136123 const MemoryGarbageCollectorSettings& rhs) {
137- return lhs.core_settings () == rhs.core_settings ();
124+ return lhs.internal () == rhs.internal ();
138125}
139126
140127bool operator ==(const MemoryEagerGCSettings& lhs,
0 commit comments