Папка дискового кэша пуста: Qt 4.8
Я пытаюсь включить дисковый кеш для моего приложения для лучшего взаимодействия с пользователем. Я использовал эту документацию в качестве руководства для этого. Сначала я подумал, что настроил его правильно, так как я не получил никаких ошибок, но потом увидел, что папка моего дискового кэша пуста Тогда я искал везде и перепробовал много вещей, но не смог решить эту проблему. Ниже приведены соответствующие фрагменты кода,
CWMWebPageCheck.h
class CWMWebPageCheck : public QObject
{
Q_OBJECT
public:
/// \brief Constructor for a CWMWebPageCheck object
///
/// \param oUrl
CWMWebPageCheck(QUrl oUrl);
virtual ~CWMWebPageCheck();
void initialize();
void initiateChecksumCalculation();
void resetHash();
...
protected:
///
/// \brief Reads the hash out of database.
///
void hashRead();
///
/// \brief Writes the hash into database.
///
void hashWrite();
bool m_bInitialized; ///< state if the CWMWebPageCheck has been initialized
QUrl m_oUrl; ///< the url which has to be scanned
QStringList m_oRequests; ///< list of requests
QNetworkAccessManager *m_oNetworkManager; ///< networkmanager to start network requests
//added by Isuru for implementing the diskcache
QNetworkDiskCache *m_oDiskCache;
CHashReplyManager m_oReplyManager; ///< reply manager which handles the network replies
QByteArray m_oHash; ///< the current hash
void initiateDataTransfer();
};
#endif // CWMWEBPAGECHECK_
CWMWebPageCheck.cpp
...
CWMWebPageCheck::CWMWebPageCheck(QUrl oUrl)
{
m_bInitialized = false;
m_oUrl = oUrl;
qDebug() << "Starting WebPageCheck with url: " << oUrl;
m_oRequests << "scripts/scripts_WM.js";
m_oRequests << "screens_wm/logbook_wm.html";
m_oNetworkManager = new QNetworkAccessManager(this);
m_oDiskCache = new QNetworkDiskCache(this);
//m_oDiskCache->setMaximumCacheSize(1000000); //set the cache to 10megs
//QString location = QStandardPaths::writableLocation(QStandardPaths::CacheLocation); //QStandardPath is not included in the Qt4.8
m_oDiskCache->setCacheDirectory(QCoreApplication::applicationDirPath() + "/Disk_cache");
//m_oDiskCache->setCacheDirectory(location);
m_oNetworkManager->setCache(m_oDiskCache);
//m_oDiskCache->maximumCacheSize(); //Returns the current maximum size in bytes for the disk cache
connect(m_oNetworkManager, SIGNAL(finished(QNetworkReply*)), this, SLOT(onReplyFinished(QNetworkReply*)));
connect(&m_oReplyManager, SIGNAL(sigCalculationError(Te_SealRequest)), this, SLOT(onSigCalculationError(Te_SealRequest)));
connect(&m_oReplyManager, SIGNAL(sigCalculationFinished(Te_SealRequest,QByteArray)), this, SLOT(onSigCalculationFinished(Te_SealRequest,QByteArray)));
m_oReplyManager.setCount(m_oRequests.length());
}
//Now comes the part where I think the problem comes from
void CWMWebPageCheck::initiateDataTransfer()
{
qDebug("*******inside initiateDataTransfer()");
for (QString oPath: m_oRequests)
{
QString sUrl = m_oUrl.toString();
// do a normal request (preferred from network, as this is the default)
// QNetworkRequest request(QUrl(QString("%1/%2").arg(sUrl).arg(oPath)));
// m_oNetworkManager->get(request);
// do a request preferred from cache
QNetworkRequest request2(QUrl(QString("%1/%2").arg(sUrl).arg(oPath)));
request2.setAttribute(QNetworkRequest::CacheLoadControlAttribute, QNetworkRequest::PreferCache);
m_oNetworkManager->get(request2);
/* QString sUrl = m_oUrl.toString();
// m_oNetworkManager->get(QNetworkRequest(QString("%1/%2").arg(sUrl).arg(oPath)).setAttribute(QNetworkRequest::CacheLoadControlAttribute, QNetworkRequest::PreferCache));
//#################################################################################################
/* QNetworkRequest request(QUrl(QString("%1/%2").arg(sUrl).arg(oPath)));
*
request.setAttribute(QNetworkRequest::CacheLoadControlAttribute, QNetworkRequest::PreferCache);
m_oNetworkManager->get(request);*/
/*QNetworkRequest request = QNetworkRequest();
request.setAttribute(QNetworkRequest::CacheLoadControlAttribute, QNetworkRequest::PreferCache);
request.setUrl(QUrl(QString("%1/%2").arg(sUrl).arg(oPath)));
m_oNetworkManager->get(request);*/
// qDebug("***********====== GOT REQUET=======***************");
// do a request preferred from cache
/* QNetworkRequest request2(QUrl(QString("%1/%2").arg(sUrl).arg(oPath)));
request2.setAttribute(QNetworkRequest::CacheLoadControlAttribute, QNetworkRequest::PreferCache);
m_oNetworkManager->get(request2);
qDebug("***********====== GOT REQUET=======***************");*/
//#################################################################################################
}
Что я здесь не так делаю? Заранее спасибо!