LeechCraft
0.6.70-18450-gabe19ee3b0
Modular cross-platform feature rich live environment.
Toggle main menu visibility
Loading...
Searching...
No Matches
networkdiskcache.h
Go to the documentation of this file.
1
/**********************************************************************
2
* LeechCraft - modular cross-platform feature rich internet client.
3
* Copyright (C) 2006-2014 Georg Rudoy
4
*
5
* Distributed under the Boost Software License, Version 1.0.
6
* (See accompanying file LICENSE or copy at https://www.boost.org/LICENSE_1_0.txt)
7
**********************************************************************/
8
9
#pragma once
10
11
#include <QNetworkDiskCache>
12
#include <QRecursiveMutex>
13
#include <QHash>
14
#include <
util/sll/util.h
>
15
#include "
networkconfig.h
"
16
17
namespace
LC::Util
18
{
32
class
UTIL_NETWORK_API
NetworkDiskCache
:
public
QNetworkDiskCache
33
{
34
Q_OBJECT
35
36
qint64 CurrentSize_ = -1;
37
38
mutable
QRecursiveMutex InsertRemoveMutex_;
39
40
QHash<QIODevice*, QUrl> PendingDev2Url_;
41
QHash<QUrl, QList<QIODevice*>> PendingUrl2Devs_;
42
43
const
Util::DefaultScopeGuard
GcGuard_;
44
public
:
55
explicit
NetworkDiskCache
(
const
QString& subpath, QObject *parent =
nullptr
);
56
59
qint64
cacheSize
()
const override
;
60
63
QIODevice*
data
(
const
QUrl& url)
override
;
64
67
void
insert
(QIODevice *device)
override
;
68
71
QNetworkCacheMetaData
metaData
(
const
QUrl& url)
override
;
72
75
QIODevice*
prepare
(
const
QNetworkCacheMetaData&)
override
;
76
79
bool
remove
(
const
QUrl& url)
override
;
80
83
void
updateMetaData
(
const
QNetworkCacheMetaData&
metaData
)
override
;
84
protected
:
87
qint64
expire
()
override
;
88
};
89
}
90
LC::Util::NetworkDiskCache::cacheSize
qint64 cacheSize() const override
Reimplemented from QNetworkDiskCache.
Definition
networkdiskcache.cpp:35
LC::Util::NetworkDiskCache::data
QIODevice * data(const QUrl &url) override
Reimplemented from QNetworkDiskCache.
Definition
networkdiskcache.cpp:40
LC::Util::NetworkDiskCache::remove
bool remove(const QUrl &url) override
Reimplemented from QNetworkDiskCache.
Definition
networkdiskcache.cpp:77
LC::Util::NetworkDiskCache::updateMetaData
void updateMetaData(const QNetworkCacheMetaData &metaData) override
Reimplemented from QNetworkDiskCache.
Definition
networkdiskcache.cpp:85
LC::Util::NetworkDiskCache::expire
qint64 expire() override
Reimplemented from QNetworkDiskCache.
Definition
networkdiskcache.cpp:91
LC::Util::NetworkDiskCache::NetworkDiskCache
NetworkDiskCache(const QString &subpath, QObject *parent=nullptr)
Constructs the new disk cache.
Definition
networkdiskcache.cpp:27
LC::Util::NetworkDiskCache::metaData
QNetworkCacheMetaData metaData(const QUrl &url) override
Reimplemented from QNetworkDiskCache.
Definition
networkdiskcache.cpp:62
LC::Util::NetworkDiskCache::insert
void insert(QIODevice *device) override
Reimplemented from QNetworkDiskCache.
Definition
networkdiskcache.cpp:46
LC::Util::NetworkDiskCache::prepare
QIODevice * prepare(const QNetworkCacheMetaData &) override
Reimplemented from QNetworkDiskCache.
Definition
networkdiskcache.cpp:68
LC::Util
Definition
icoreproxy.h:34
LC::Util::DefaultScopeGuard
detail::ScopeGuard< detail::DefaultScopeGuardDeleter > DefaultScopeGuard
Definition
util.h:132
networkconfig.h
UTIL_NETWORK_API
#define UTIL_NETWORK_API
Definition
networkconfig.h:16
util.h
src
util
network
networkdiskcache.h
Generated by
1.17.0