| /* |
| * Copyright 2025 Google LLC |
| * |
| * Use of this source code is governed by a BSD-style license that can be |
| * found in the LICENSE file. |
| */ |
| |
| #include "src/core/SkSynchronizedResourceCache.h" |
| |
| SkSynchronizedResourceCache::SkSynchronizedResourceCache(DiscardableFactory fact) |
| : SkResourceCache(fact) {} |
| |
| SkSynchronizedResourceCache::SkSynchronizedResourceCache(size_t byteLimit) |
| : SkResourceCache(byteLimit) {} |
| |
| SkSynchronizedResourceCache::~SkSynchronizedResourceCache() = default; |
| |
| size_t SkSynchronizedResourceCache::getTotalBytesUsed() const { |
| SkAutoMutexExclusive am(fMutex); |
| return SkResourceCache::getTotalBytesUsed(); |
| } |
| |
| size_t SkSynchronizedResourceCache::getTotalByteLimit() const { |
| SkAutoMutexExclusive am(fMutex); |
| return SkResourceCache::getTotalByteLimit(); |
| } |
| |
| size_t SkSynchronizedResourceCache::setTotalByteLimit(size_t newLimit) { |
| SkAutoMutexExclusive am(fMutex); |
| return SkResourceCache::setTotalByteLimit(newLimit); |
| } |
| |
| SkResourceCache::DiscardableFactory SkSynchronizedResourceCache::discardableFactory() const { |
| SkAutoMutexExclusive am(fMutex); |
| return SkResourceCache::discardableFactory(); |
| } |
| |
| SkCachedData* SkSynchronizedResourceCache::newCachedData(size_t bytes) { |
| SkAutoMutexExclusive am(fMutex); |
| return SkResourceCache::newCachedData(bytes); |
| } |
| |
| void SkSynchronizedResourceCache::dump() const { |
| SkAutoMutexExclusive am(fMutex); |
| SkResourceCache::dump(); |
| } |
| |
| size_t SkSynchronizedResourceCache::setSingleAllocationByteLimit(size_t size) { |
| SkAutoMutexExclusive am(fMutex); |
| return SkResourceCache::setSingleAllocationByteLimit(size); |
| } |
| |
| size_t SkSynchronizedResourceCache::getSingleAllocationByteLimit() const { |
| SkAutoMutexExclusive am(fMutex); |
| return SkResourceCache::getSingleAllocationByteLimit(); |
| } |
| |
| size_t SkSynchronizedResourceCache::getEffectiveSingleAllocationByteLimit() const { |
| SkAutoMutexExclusive am(fMutex); |
| return SkResourceCache::getEffectiveSingleAllocationByteLimit(); |
| } |
| |
| void SkSynchronizedResourceCache::purgeAll() { |
| SkAutoMutexExclusive am(fMutex); |
| return SkResourceCache::purgeAll(); |
| } |
| |
| bool SkSynchronizedResourceCache::find(const Key& key, FindVisitor visitor, void* context) { |
| SkAutoMutexExclusive am(fMutex); |
| return SkResourceCache::find(key, visitor, context); |
| } |
| |
| void SkSynchronizedResourceCache::add(Rec* rec, void* payload) { |
| SkAutoMutexExclusive am(fMutex); |
| SkResourceCache::add(rec, payload); |
| } |
| |
| void SkSynchronizedResourceCache::visitAll(Visitor visitor, void* context) { |
| SkAutoMutexExclusive am(fMutex); |
| SkResourceCache::visitAll(visitor, context); |
| } |