• Main Page
  • Classes
  • Files
  • File List
  • File Members

src/static.cpp

Go to the documentation of this file.
00001 
00006 #include "static.h"
00007 #include <QCoreApplication>
00008 #include <QDir>
00009 #include <QFile>
00010 #include <QString>
00011 
00012 QString Static::configDir=0;
00013 
00014 TemplateLoader* Static::templateLoader=0;
00015 
00016 HttpSessionStore* Static::sessionStore=0;
00017 
00018 StaticFileController* Static::staticFileController=0;
00019 
00020 QString Static::getConfigFileName() {
00021     return QString("%1/%2.ini").arg(getConfigDir()).arg(QCoreApplication::applicationName());
00022 }
00023 
00024 QString Static::getConfigDir() {
00025     if (!configDir.isNull()) {
00026         return configDir;
00027     }
00028     // Search config file
00029 
00030     QString binDir=QCoreApplication::applicationDirPath();
00031     QString organization=QCoreApplication::organizationName();
00032     QString configFileName=QCoreApplication::applicationName()+".ini";
00033 
00034     QStringList searchList;
00035     searchList.append(QDir::cleanPath(binDir));
00036     searchList.append(QDir::cleanPath(binDir+"/../etc"));
00037     searchList.append(QDir::cleanPath(binDir+"/../../etc")); // for development under windows
00038     searchList.append(QDir::rootPath()+"etc/xdg/"+organization);
00039     searchList.append(QDir::rootPath()+"etc/opt");
00040     searchList.append(QDir::rootPath()+"etc");
00041 
00042     foreach (QString dir, searchList) {
00043         QFile file(dir+"/"+configFileName);
00044         if (file.exists()) {
00045             // found
00046             configDir=dir;
00047             qDebug("Using config file %s",qPrintable(file.fileName()));
00048             return configDir;
00049         }
00050     }
00051 
00052     // not found
00053     foreach (QString dir, searchList) {
00054         qWarning("%s/%s not found",qPrintable(dir),qPrintable(configFileName));
00055     }
00056     qFatal("Cannot find config file %s",qPrintable(configFileName));
00057     return 0;
00058 }
00059 

Generated on Mon Dec 26 2011 12:09:22 for QtWebApp by  doxygen 1.7.1