-rw-r--r-- | library/config.cpp | 1 |
1 files changed, 0 insertions, 1 deletions
diff --git a/library/config.cpp b/library/config.cpp index e9cae4c..72bd4d2 100644 --- a/library/config.cpp +++ b/library/config.cpp @@ -118,65 +118,64 @@ private: ConfigCache* ConfigCache::m_inst = 0; /* * get destroyed when qApp gets destroyed */ ConfigCache::ConfigCache() : QObject( qApp ), m_totalSize( 0 ), m_tid( 0 ) {} ConfigCache* ConfigCache::instance() { if ( !m_inst ) m_inst = new ConfigCache(); return m_inst; } void ConfigCache::remove( const QString& fileName ) { QMap<QString, ConfigData>::Iterator it = m_cached.find( fileName ); if ( it == m_cached.end() ) return; m_totalSize -= (*it).size; m_cached.remove( it ); } void ConfigCache::removeLru() { QMap<QString, ConfigData>::Iterator it = m_cached.begin(); QMap<QString, ConfigData>::Iterator lru = it; ++it; for (; it != m_cached.end(); ++it) if ((*it).used.tv_sec < (*lru).used.tv_sec || ((*it).used.tv_sec == (*lru).used.tv_sec && (*it).used.tv_usec < (*lru).used.tv_usec)) lru = it; - qWarning( "Removing item" ); m_totalSize -= (*lru).size; m_cached.remove(lru); } void ConfigCache::timerEvent( QTimerEvent* ) { while ( m_totalSize > CONFIG_CACHE_SIZE ) removeLru(); killTimer(m_tid); m_tid = 0; } void ConfigCache::insert( const QString& fileName, const ConfigGroupMap& cfg, const ConfigPrivate* _priv ) { struct stat sbuf; ::stat( QFile::encodeName(fileName), &sbuf ); if ( static_cast<unsigned int>(sbuf.st_size) >= CONFIG_CACHE_SIZE>>1) return; /* * remove the old version and use the new one */ ConfigPrivate priv = _priv ? *_priv : ConfigPrivate(); ConfigData data( cfg, priv, sbuf ); m_totalSize += data.size; remove( fileName ); m_cached.insert( fileName, data ); /* |