#include "services/device/geolocation/position_cache_impl.h"
#include "base/ranges/algorithm.h"
#include "base/strings/utf_string_conversions.h"
#include "components/device_event_log/device_event_log.h"
#include "services/device/geolocation/wifi_data.h"
#include "services/device/public/mojom/geolocation_internals.mojom.h"
#include "services/device/public/mojom/geoposition.mojom.h"
namespace device {
const size_t PositionCacheImpl::kMaximumSize = …;
const base::TimeDelta PositionCacheImpl::kMaximumLifetime = …;
PositionCacheImpl::CacheEntry::CacheEntry(
const Hash& hash,
mojom::GeopositionPtr position,
std::unique_ptr<base::OneShotTimer> eviction_timer)
: … { … }
PositionCacheImpl::CacheEntry::~CacheEntry() = default;
PositionCacheImpl::CacheEntry::CacheEntry(CacheEntry&&) = default;
PositionCacheImpl::CacheEntry& PositionCacheImpl::CacheEntry::operator=(
CacheEntry&&) = default;
PositionCacheImpl::Hash PositionCacheImpl::MakeKey(const WifiData& wifi_data) { … }
PositionCacheImpl::PositionCacheImpl(const base::TickClock* clock)
: … { … }
PositionCacheImpl::~PositionCacheImpl() { … }
void PositionCacheImpl::CachePosition(const WifiData& wifi_data,
const mojom::Geoposition& position) { … }
const mojom::Geoposition* PositionCacheImpl::FindPosition(
const WifiData& wifi_data) { … }
size_t PositionCacheImpl::GetPositionCacheSize() const { … }
const mojom::GeopositionResult* PositionCacheImpl::GetLastUsedNetworkPosition()
const { … }
void PositionCacheImpl::SetLastUsedNetworkPosition(
const mojom::GeopositionResult& result) { … }
void PositionCacheImpl::FillDiagnostics(
mojom::PositionCacheDiagnostics& diagnostics) { … }
void PositionCacheImpl::OnNetworkChanged(
net::NetworkChangeNotifier::ConnectionType) { … }
void PositionCacheImpl::EvictEntry(const Hash& hash) { … }
}