ResourcesProvider's now can tell their databases not to locally cache their
items in a file by overloading ResourcesProvider::cacheDatabase()
This commit is contained in:
@@ -45,13 +45,17 @@ public:
|
||||
virtual int dataSize( const ResourcesItem * _item ) const = 0;
|
||||
virtual QByteArray fetchData( const ResourcesItem * _item,
|
||||
int _maxSize = -1 ) const = 0;
|
||||
virtual bool cacheDatabase( void ) const
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
inline const QString & url( void ) const
|
||||
{
|
||||
return m_url;
|
||||
}
|
||||
|
||||
QString localCatalogueFile( void ) const;
|
||||
QString localCacheFile( void ) const;
|
||||
|
||||
ResourcesDB * database( void )
|
||||
{
|
||||
|
||||
@@ -44,7 +44,6 @@ ResourcesDB::ResourcesDB( ResourcesProvider * _provider ) :
|
||||
|
||||
ResourcesDB::~ResourcesDB()
|
||||
{
|
||||
save( m_provider->localCatalogueFile() );
|
||||
}
|
||||
|
||||
|
||||
@@ -52,14 +51,17 @@ ResourcesDB::~ResourcesDB()
|
||||
|
||||
void ResourcesDB::init( void )
|
||||
{
|
||||
if( QFileInfo( m_provider->localCatalogueFile() ).exists() )
|
||||
if( QFileInfo( m_provider->localCacheFile() ).exists() )
|
||||
{
|
||||
load( m_provider->localCatalogueFile() );
|
||||
load( m_provider->localCacheFile() );
|
||||
}
|
||||
|
||||
m_provider->updateDatabase();
|
||||
|
||||
save( m_provider->localCatalogueFile() );
|
||||
if( m_provider->cacheDatabase() )
|
||||
{
|
||||
save( m_provider->localCacheFile() );
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -48,10 +48,10 @@ ResourcesProvider::~ResourcesProvider()
|
||||
|
||||
|
||||
|
||||
QString ResourcesProvider::localCatalogueFile( void ) const
|
||||
QString ResourcesProvider::localCacheFile( void ) const
|
||||
{
|
||||
const QString dir = configManager::inst()->workingDir() +
|
||||
"catalogs" + QDir::separator();
|
||||
".resources" + QDir::separator();
|
||||
if( !QDir( dir ).exists() )
|
||||
{
|
||||
QDir().mkpath( dir );
|
||||
|
||||
Reference in New Issue
Block a user