AssetCache::AssetCache(AssetAPI *owner, QString assetCacheDirectory) : QNetworkDiskCache(owner), assetAPI(owner), cacheDirectory(GuaranteeTrailingSlash(assetCacheDirectory)) { LogInfo("Using AssetCache in directory '" + assetCacheDirectory.toStdString() + "'"); // Check that the main directory exists QDir assetDir(cacheDirectory); if (!assetDir.exists()) { QString dirName = cacheDirectory.split("/", QString::SkipEmptyParts).last(); QString parentPath = cacheDirectory; parentPath.chop(dirName.length()+1); QDir parentDir(parentPath); parentDir.mkdir(dirName); } // Check that the needed subfolders exist if (!assetDir.exists("data")) assetDir.mkdir("data"); assetDataDir = QDir(cacheDirectory + "data"); if (!assetDir.exists("metadata")) assetDir.mkdir("metadata"); assetMetaDataDir = QDir(cacheDirectory + "metadata"); // Set for QNetworkDiskCache setCacheDirectory(cacheDirectory); }
NetworkDiskCache::NetworkDiskCache (const QString& subpath, QObject *parent) : QNetworkDiskCache (parent) , CurrentSize_ (-1) , InsertRemoveMutex_ (QMutex::Recursive) , GarbageCollectorWatcher_ (nullptr) { setCacheDirectory (CreateIfNotExists (subpath).absolutePath ()); }
NetworkDiskCache::NetworkDiskCache(QObject * parent) : QNetworkDiskCache(parent) { QString path = QDesktopServices::storageLocation(QDesktopServices::DataLocation) + "/cache"; setCacheDirectory(path); setMaximumCacheSize(SettingsManager::settingsManager()->maximumCacheSize()); }
NetworkDiskCache::NetworkDiskCache (const QString& subpath, QObject *parent) : QNetworkDiskCache (parent) , CurrentSize_ (-1) , InsertRemoveMutex_ (QMutex::Recursive) , GarbageCollectorWatcher_ (nullptr) { setCacheDirectory (GetUserDir (UserDir::Cache, "network/" + subpath).absolutePath ()); auto timer = new QTimer (this); timer->setInterval (60 * 60 * 1000); connect (timer, SIGNAL (timeout ()), this, SLOT (collectGarbage ())); }
NetworkCache::NetworkCache(QObject *parent) : QNetworkDiskCache(parent) { const QString cachePath(SessionsManager::getCachePath()); if (!cachePath.isEmpty()) { QDir().mkpath(cachePath); setCacheDirectory(cachePath); setMaximumCacheSize(SettingsManager::getValue(QLatin1String("Cache/DiskCacheLimit")).toInt() * 1024); } connect(SettingsManager::getInstance(), SIGNAL(valueChanged(QString,QVariant)), this, SLOT(optionChanged(QString,QVariant))); }
BrowserNetworkDiskCache::BrowserNetworkDiskCache(QObject *parent) : QNetworkDiskCache(parent) , m_private(false) { setCacheDirectory(QString (Storage::getInstance()->getDataPartition()->getMountPoint() + "/" + BROWSER_CACHE_DIRECTORY)); }
void load() { setCacheDirectory("./cache"); setMaximumCacheSize(Config::getValue("/Network/Cache/Maximum", 100 * 1024 * 1024)); }