summaryrefslogtreecommitdiff
path: root/library/config.cpp
Side-by-side diff
Diffstat (limited to 'library/config.cpp') (more/less context) (show whitespace changes)
-rw-r--r--library/config.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/library/config.cpp b/library/config.cpp
index 72bd4d2..73ddeb5 100644
--- a/library/config.cpp
+++ b/library/config.cpp
@@ -1,135 +1,135 @@
/**********************************************************************
** Copyright (C) 2000,2004 Trolltech AS. All rights reserved.
**
** This file is part of Qtopia Environment.
**
** This file may be distributed and/or modified under the terms of the
** GNU General Public License version 2 as published by the Free Software
** Foundation and appearing in the file LICENSE.GPL included in the
** packaging of this file.
**
** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
**
** See http://www.trolltech.com/gpl/ for GPL licensing information.
**
** Contact info@trolltech.com if any conditions of this licensing are
** not clear to you.
**
**********************************************************************/
#include <qdir.h>
#include <qmessagebox.h>
#if QT_VERSION <= 230 && defined(QT_NO_CODECS)
#include <qtextcodec.h>
#endif
#include <qtextstream.h>
#include <sys/stat.h>
#include <sys/types.h>
#include <sys/time.h>
#include <fcntl.h>
#include <stdlib.h>
#include <time.h>
#include <unistd.h>
#define QTOPIA_INTERNAL_LANGLIST
#include "config.h"
#include "global.h"
-#include "qpeapplication.h"
+#include <qtopia/qpeapplication.h>
/*
* Internal Class
*/
class ConfigPrivate {
public:
ConfigPrivate() : multilang(FALSE) {}
ConfigPrivate(const ConfigPrivate& o) :
trfile(o.trfile),
trcontext(o.trcontext),
multilang(o.multilang)
{}
ConfigPrivate& operator=(const ConfigPrivate& o)
{
trfile = o.trfile;
trcontext = o.trcontext;
multilang = o.multilang;
return *this;
}
QString trfile;
QCString trcontext;
bool multilang;
};
/////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////
#ifndef Q_OS_WIN32
//#define DEBUG_CONFIG_CACHE
class ConfigData
{
public:
ConfigData() {}
ConfigData( const ConfigGroupMap& cf, const ConfigPrivate& pri,
struct stat sbuf )
: cfg( cf ), priv( pri ), mtime( sbuf.st_mtime ),
size( sbuf.st_size )
{
gettimeofday(&used, 0 );
}
ConfigGroupMap cfg;
ConfigPrivate priv; // Owned by this object
time_t mtime;
unsigned int size;
struct timeval used;
};
class ConfigCache : public QObject {
public:
static ConfigCache* instance();
void insert( const QString& fileName, const ConfigGroupMap& cfg,
const ConfigPrivate *priv );
bool find(const QString& fileName, ConfigGroupMap& cfg,
ConfigPrivate** priv );
protected:
void timerEvent( QTimerEvent* );
private:
ConfigCache();
void remove( const QString& fileName );
void removeLru();
private:
QMap<QString, ConfigData> m_cached;
unsigned int m_totalSize;
int m_tid;
private:
static ConfigCache* m_inst;
static const unsigned int CONFIG_CACHE_SIZE = 8192;
static const unsigned int CONFIG_CACHE_TIMEOUT = 1000;
};
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;