Represents directories used by Doomseeker to store data. More...
#include <datapaths.h>
Public Types | |
enum | MachineType { x86, x64, Preferred } |
Public Member Functions | |
DataPaths (bool bPortableModeOn=false) | |
QStringList | canWrite () const |
Checks if all directories can be written to. | |
bool | createDirectories () |
Creates necessary directories for application run. | |
QString | demosDirectoryPath () const |
QStringList | directoriesExist () const |
Checks if all necessary directories exist. | |
const QString & | directoryNameForProgram () const |
QString | programsDataDirectoryPath () const |
Path to directory where this concrete application should store it's data. | |
QString | programsDataSupportDirectoryPath () const |
Allows switching from Preferences to Application Support on OS X. | |
bool | isPortableModeOn () const |
void | setPortableModeOn (bool b) |
void | setDirectoryNameForProgram (const QString &name) |
QString | systemAppDataDirectory (QString append=QString()) const |
Gets path to the root directory for data storage. | |
bool | validateAppDataDirectory () |
Checks if the root directory for Doomseeker data storage is accessible. | |
Static Public Member Functions | |
static QString | programFilesDirectory (MachineType machineType) |
Static Public Attributes | |
static const QString | PROGRAMS_APPDATA_DIR_NAME = ".doomseeker" |
static const QString | PROGRAMS_APPDATASUPPORT_DIR_NAME = "" |
static const QString | DEMOS_DIR_NAME = "demos" |
Protected Member Functions | |
bool | tryCreateDirectory (const QDir &rootDir, const QString &dirToCreate) const |
If directory already exists true is returned. | |
Static Protected Member Functions | |
static bool | validateDir (const QString &path) |
Protected Attributes | |
bool | bIsPortableModeOn |
QString | programsDirectoryName |
Defaults to PROGRAMS_APPDATA_DIR_NAME. | |
QString | programsSupportDirectoryName |
QString | demosDirectoryName |
Represents directories used by Doomseeker to store data.
Since Doomseeker doesn't need to store much all data is stored in a single directory. For portable model this is the same directory as in which Doomseeker.exe resides. Otherwise .doomseeker/ directory can be created in a path depending on the operating system.
QStringList DataPaths::canWrite | ( | ) | const |
Checks if all directories can be written to.
bool DataPaths::createDirectories | ( | ) |
Creates necessary directories for application run.
If directories exist nothing happens.
QStringList DataPaths::directoriesExist | ( | ) | const |
Checks if all necessary directories exist.
QString DataPaths::programFilesDirectory | ( | MachineType | machineType | ) | [static] |
Retrieves correct path to "Program Files" directory. Windows only.
This exploits environmental variables such as PROGRAMFILES%, PROGRAMFILES(X86)% and ProgramW6432. This method is used to determine the correct path to the "Program Files" directory on Windows (XP and above). Since on *nix systems there is no equivalent it will return an empty string.
QString DataPaths::programsDataDirectoryPath | ( | ) | const |
Path to directory where this concrete application should store it's data.
Depending on model (portable or not) and operating system this might point to a number of different directories. However the root dir is determined by calling the systemAppDataDirectory() method and appending string contained in programsDirectoryName member.
QString DataPaths::programsDataSupportDirectoryPath | ( | ) | const |
Allows switching from Preferences to Application Support on OS X.
Same as programsDataDirectoryPath() on other systems or in portable mode.
QString DataPaths::systemAppDataDirectory | ( | QString | append = QString() | ) | const |
Gets path to the root directory for data storage.
If portable mode is ON this points to the appliation's directory. Otherwise:
For Windows this is determined based on APPDATA% environment variable. If this cannot be found then QDir::home() is used.
On other systems QDir::home() is used directly.
append | - this string will be appended to the returned path. |
bool DataPaths::validateDir | ( | const QString & | path | ) | [static, protected] |