blob: 191bee20d63ba59cf302241c54ba1572b63c28bd [file] [log] [blame]
/*
* 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);
}