30 class NetworkDiskCacheGC :
public QObject
32 using CacheSizeGetters_t = std::list<std::function<int ()>>;
37 bool IsCollecting_ =
false;
39 NetworkDiskCacheGC ();
42 NetworkDiskCacheGC&
operator= (
const NetworkDiskCacheGC&) =
delete;
48 static NetworkDiskCacheGC&
Instance ();
83 const std::function<
int ()>& sizeGetter);
85 void UnregisterDirectory (
const QString&, CacheSizeGetters_t::iterator);
86 void HandleCollect ();
Util::DefaultScopeGuard RegisterDirectory(const QString &path, const std::function< int()> &sizeGetter)
Registers the given cache path.
static NetworkDiskCacheGC & Instance()
Returns a single global instance of the GC manager.
NetworkDiskCacheGC(const NetworkDiskCacheGC &)=delete
NetworkDiskCacheGC & operator=(const NetworkDiskCacheGC &)=delete
QFuture< qint64 > GetCurrentSize(const QString &path) const
Schedules calculation of the path total size.
detail::ScopeGuard< detail::DefaultScopeGuardDeleter > DefaultScopeGuard