Marble
8 #include "FileStoragePolicy.h"
12 #include <QDirIterator>
17 #include "MarbleDebug.h"
18 #include "MarbleGlobal.h"
19 #include "MarbleDirs.h"
23 FileStoragePolicy::FileStoragePolicy(
const QString &dataDirectory,
QObject *parent )
24 : StoragePolicy( parent ),
25 m_dataDirectory( dataDirectory )
27 if ( m_dataDirectory.isEmpty() )
28 m_dataDirectory = MarbleDirs::localPath() +
QLatin1String(
"/cache/");
30 if ( !
QDir( m_dataDirectory ).exists() )
34 FileStoragePolicy::~FileStoragePolicy()
38 bool FileStoragePolicy::fileExists(
const QString &fileName )
const
44 bool FileStoragePolicy::updateFile(
const QString &fileName,
const QByteArray &data )
52 const QDir localFileDir = info.dir();
55 if ( !
QDir( localFileDirPath ).exists() )
59 QFile file( fullName );
62 qCritical() <<
"file.open" << m_errorMsg;
66 quint64 oldSize = file.
size();
68 if ( !file.write( data ) ) {
70 qCritical() <<
"file.write" << m_errorMsg;
71 emit sizeChanged( file.size() - oldSize );
75 emit sizeChanged( file.size() - oldSize );
81 void FileStoragePolicy::clearCache()
84 if ( m_dataDirectory.isEmpty()
89 mDebug() <<
"Data Directory:" << m_dataDirectory;
90 mDebug() <<
"Error: Refusing to erase files under unknown conditions for safety reasons!";
97 mDebug() << cachedMapsDirectory;
98 while (it.hasNext()) {
100 QString planetDirectory = it.filePath();
102 while (itPlanet.hasNext()) {
104 QString themeDirectory = itPlanet.filePath();
106 while (itTheme.hasNext()) {
108 QString tileDirectory = itTheme.filePath();
110 if ( itTheme.fileName().toInt() <= maxBaseTileLevel ) {
115 while (itTile.hasNext()) {
117 QString filePath = itTile.filePath();
131 QFile file( filePath );
132 emit sizeChanged( -file.size() );
141 QString FileStoragePolicy::lastErrorMessage()
const
146 #include "moc_FileStoragePolicy.cpp"
bool endsWith(const QString &s, Qt::CaseSensitivity cs) const const
bool exists() const const
bool mkpath(const QString &dirPath) const const
Binds a QML item to a specific geodetic location in screen coordinates.
QString absolutePath() const const
QString toLower() const const
QString fullName(const PartType &type)
QDebug mDebug()
a function to replace qDebug() in Marble library code
This file is part of the KDE documentation.
Documentation copyright © 1996-2023 The KDE developers.
Generated on Wed Oct 4 2023 04:09:41 by
doxygen 1.8.17 written
by
Dimitri van Heesch, © 1997-2006
KDE's Doxygen guidelines are available online.