Новый способ определения каталогов

This commit is contained in:
Andrei Astafev 2020-04-02 01:29:39 +03:00
parent 4f507da585
commit 189d85719e
4 changed files with 542 additions and 284 deletions

View File

@ -1,6 +1,5 @@
#include "current_executable.hpp"
#include <myx/base/config.hpp> #include <myx/base/config.hpp>
#include <myx/filesystem/current_executable.hpp>
#include <paths.h> #include <paths.h>
#include <QString> #include <QString>

View File

@ -1,15 +1,18 @@
/** /**
* @file current_executable.hpp * @file current_executable.hpp
* @brief Параметры исполняемового файла * @brief Параметры исполняемого файла
*/ */
#ifndef MYX_FILESYSTEM_CURRENT_EXECUTABLE_HPP_ #ifndef MYX_FILESYSTEM_CURRENT_EXECUTABLE_HPP_
#define MYX_FILESYSTEM_CURRENT_EXECUTABLE_HPP_ #define MYX_FILESYSTEM_CURRENT_EXECUTABLE_HPP_
#pragma once
#include <QString> #include <QString>
#include <QDir> #include <QDir>
#include <QFileInfo> #include <QFileInfo>
namespace myx { namespace myx {
namespace filesystem { namespace filesystem {
@ -25,6 +28,7 @@ class CurrentExecutable
/// Имя текущего исполняемого файла /// Имя текущего исполняемого файла
QString m_fileName; QString m_fileName;
friend class Paths;
public: public:
/** /**
* @brief Конструктор, собирающий информацию о текущем исполняемом файле. * @brief Конструктор, собирающий информацию о текущем исполняемом файле.

View File

@ -1,7 +1,6 @@
#include "paths.hpp"
#include <myx/base/config.hpp> #include <myx/base/config.hpp>
#include <myx/filesystem/current_executable.hpp> #include <myx/filesystem/current_executable.hpp>
#include <myx/filesystem/paths.hpp>
#include <paths.h> #include <paths.h>
#include <QString> #include <QString>
@ -11,149 +10,27 @@ namespace myx {
namespace filesystem { namespace filesystem {
QString Paths::executableFileName() const
{
return( m_currentExecutable.fileName() );
}
QString Paths::configFileName() const
{
return( m_configFileName );
}
void Paths::setConfigFileName( const QString& configFileName )
{
m_configFileName = configFileName;
}
QFileInfo Paths::executableFilePath() const
{
return( m_currentExecutable.canonicalFilePath() );
}
QFileInfo Paths::configFilePath() const
{
return( m_configFilePath );
}
void Paths::setConfigFilePath( const QFileInfo& configFilePath )
{
m_configFilePath = configFilePath;
}
QDir Paths::logDirectory() const
{
return( m_logDirectory );
}
void Paths::setLogDirectory( const QString& logDirectory )
{
m_logDirectory = logDirectory;
}
Paths::Paths( QString configFileExtension ) : Paths::Paths( QString configFileExtension ) :
m_prefixDirectory ( "/opt/" + QCoreApplication::organizationName().toLower() + m_prefixDirectory ( "/opt/" + QCoreApplication::organizationName().toLower() +
"/" + QCoreApplication::applicationName().toLower() ), "/" + QCoreApplication::applicationName().toLower() ),
m_configFileExtension( std::move( configFileExtension ) ) m_configFileExtension ( std::move( configFileExtension ) ),
m_projectDirectoryName( QCoreApplication::applicationName().toLower() )
{ {
auto pd = m_prefixDirectory.absolutePath(); auto pd = m_prefixDirectory.absolutePath();
m_binaryDirectory = pd + "/bin"; m_binaryDirectory = pd + "/bin";
m_configDirectory = pd + "/etc"; // m_systemConfigDirectory = pd + "/etc/" + m_projectDirectoryName;
m_cacheDirectory = pd + "/var"; // m_userCacheDirectory = pd + "/var/lib/" + m_projectDirectoryName;
m_logDirectory = pd + "/var/log"; // m_logDirectory = pd + "/var/log/" + m_projectDirectoryName;
m_tempDirectory = QString::fromLocal8Bit( qgetenv( qPrintable( "TMPDIR" ) ) ); // m_dataDirectory = pd + "/share/" + m_projectDirectoryName;
m_dataDirectory = pd + "/share"; // m_tempDirectory = QString::fromLocal8Bit( qgetenv( qPrintable( "TMPDIR" ) ) );
m_homeDirectory = QString::fromLocal8Bit( qgetenv( qPrintable( "HOME" ) ) ); // m_homeDirectory = QString::fromLocal8Bit( qgetenv( qPrintable( "HOME" ) ) );
m_configFileName = QCoreApplication::applicationName().toLower() + // m_configFileName = m_projectDirectoryName + "." + m_configFileExtension;
"." + m_configFileExtension; // m_configFilePath = m_systemConfigDirectory.absolutePath() + "/" + m_configFileName;
m_configFilePath = m_binaryDirectory.absolutePath() +
"/" + m_configFileName;
// if ( m_tempDirectory.absolutePath().isEmpty() || ( m_tempDirectory.path() == "." ) )
if ( m_tempDirectory.absolutePath().isEmpty() || ( m_tempDirectory.path() == "." ) ) // {
{ // m_tempDirectory = QStringLiteral( _PATH_TMP );
m_tempDirectory = QStringLiteral( _PATH_TMP ); // }
}
}
QDir Paths::prefixDirectory() const
{
return( m_prefixDirectory );
}
void Paths::setPrefixDirectory( const QString& prefixDirectory )
{
m_prefixDirectory = prefixDirectory;
}
QDir Paths::binaryDirectory() const
{
return( m_binaryDirectory );
}
void Paths::setBinaryDirectory( const QString& binaryDirectory )
{
m_binaryDirectory = binaryDirectory;
}
QDir Paths::configDirectory() const
{
return( m_configDirectory );
}
void Paths::setConfigDirectory( const QString& configDirectory )
{
m_configDirectory = configDirectory;
}
QDir Paths::cacheDirectory() const
{
return( m_cacheDirectory );
}
void Paths::setCacheDirectory( const QString& cacheDirectory )
{
m_cacheDirectory = cacheDirectory;
}
QDir Paths::tempDirectory() const
{
return( m_tempDirectory );
}
void Paths::setTempDirectory( const QString& tempDirectory )
{
m_tempDirectory = tempDirectory;
}
QDir Paths::dataDirectory() const
{
return( m_dataDirectory );
}
void Paths::setDataDirectory( const QString& dataDirectory )
{
m_dataDirectory = dataDirectory;
} }
@ -161,49 +38,49 @@ bool Paths::updatePaths()
{ {
m_binaryDirectory = m_currentExecutable.canonicalPath(); m_binaryDirectory = m_currentExecutable.canonicalPath();
if ( m_binaryDirectory.absolutePath().endsWith( "/bin" ) ) // if ( m_binaryDirectory.absolutePath().endsWith( "/bin" ) )
{ // {
m_prefixDirectory = m_binaryDirectory.absolutePath().remove( QRegExp( "/bin$" ) ); // m_prefixDirectory = m_binaryDirectory.absolutePath().remove( QRegExp( "/bin$" ) );
m_configDirectory = m_prefixDirectory.absolutePath() + "/etc"; // m_systemConfigDirectory = m_prefixDirectory.absolutePath() + "/etc/" + m_projectDirectoryName;
m_cacheDirectory = m_prefixDirectory.absolutePath() + "/var"; // m_userCacheDirectory = m_prefixDirectory.absolutePath() + "/var/lib/" + m_projectDirectoryName;
m_logDirectory = m_prefixDirectory.absolutePath() + "/var/log"; // m_logDirectory = m_prefixDirectory.absolutePath() + "/var/log/" + m_projectDirectoryName;
m_dataDirectory = m_prefixDirectory.absolutePath() + "/share"; // m_dataDirectory = m_prefixDirectory.absolutePath() + "/share/" + m_projectDirectoryName;
m_configFilePath = QFile( m_configDirectory.absolutePath() + // m_configFilePath = QFile( m_systemConfigDirectory.absolutePath() +
"/" + QCoreApplication::applicationName() + // "/" + QCoreApplication::applicationName() +
"." + m_configFileExtension ); // "." + m_configFileExtension );
} // }
if ( m_prefixDirectory.absolutePath().startsWith( "/opt" ) || // if ( m_prefixDirectory.absolutePath().startsWith( "/opt" ) ||
m_prefixDirectory.absolutePath().startsWith( "/usr" ) ) // m_prefixDirectory.absolutePath().startsWith( "/usr" ) )
{ // {
QString dataDirectory = QString::fromLocal8Bit( qgetenv( qPrintable( "XDG_DATA_HOME" ) ) ); // QString dataDirectory = QString::fromLocal8Bit( qgetenv( qPrintable( "XDG_DATA_HOME" ) ) );
if ( dataDirectory.isEmpty() ) // if ( dataDirectory.isEmpty() )
{ // {
dataDirectory = m_homeDirectory.absolutePath() + ".local/share"; // dataDirectory = m_homeDirectory.absolutePath() + ".local/share";
} // }
m_dataDirectory = dataDirectory + "/" + // m_dataDirectory = dataDirectory + "/" +
QCoreApplication::organizationName().toLower() + "/" + // QCoreApplication::organizationName().toLower() + "/" +
QCoreApplication::applicationName().toLower(); // QCoreApplication::applicationName().toLower();
QString configDirectory = QString::fromLocal8Bit( qgetenv( qPrintable( "XDG_CONFIG_HOME" ) ) ); // QString configDirectory = QString::fromLocal8Bit( qgetenv( qPrintable( "XDG_CONFIG_HOME" ) ) );
if ( configDirectory.isEmpty() ) // if ( configDirectory.isEmpty() )
{ // {
configDirectory = m_homeDirectory.absolutePath() + ".config"; // configDirectory = m_homeDirectory.absolutePath() + ".config";
} // }
m_configDirectory = configDirectory + "/" + // m_systemConfigDirectory = configDirectory + "/" +
QCoreApplication::organizationName().toLower() + "/" + // QCoreApplication::organizationName().toLower() + "/" +
QCoreApplication::applicationName().toLower(); // QCoreApplication::applicationName().toLower();
QString cacheDirectory = QString::fromLocal8Bit( qgetenv( qPrintable( "XDG_CACHE_HOME" ) ) ); // QString cacheDirectory = QString::fromLocal8Bit( qgetenv( qPrintable( "XDG_CACHE_HOME" ) ) );
if ( cacheDirectory.isEmpty() ) // if ( cacheDirectory.isEmpty() )
{ // {
cacheDirectory = m_homeDirectory.absolutePath() + ".cache"; // cacheDirectory = m_homeDirectory.absolutePath() + ".cache";
} // }
m_cacheDirectory = cacheDirectory + "/" + // m_userCacheDirectory = cacheDirectory + "/" +
QCoreApplication::organizationName().toLower() + "/" + // QCoreApplication::organizationName().toLower() + "/" +
QCoreApplication::applicationName().toLower(); // QCoreApplication::applicationName().toLower();
m_logDirectory = m_cacheDirectory.absolutePath() + "/log"; // m_logDirectory = m_userCacheDirectory.absolutePath() + "/log";
} // }
return( true ); return( true );
} // Paths::updatePaths } // Paths::updatePaths
@ -213,10 +90,10 @@ bool Paths::makeDefaultDirectories()
{ {
bool status = true; bool status = true;
if ( !m_dataDirectory.mkpath( m_dataDirectory.absolutePath() ) ) { status = false; } if ( !m_userConfigDirectory.mkpath( m_userConfigDirectory.absolutePath() ) ) { status = false; }
if ( !m_configDirectory.mkpath( m_configDirectory.absolutePath() ) ) { status = false; } if ( !m_userVarDataDirectory.mkpath( m_userVarDataDirectory.absolutePath() ) ) { status = false; }
if ( !m_cacheDirectory.mkpath( m_cacheDirectory.absolutePath() ) ) { status = false; } if ( !m_userConstDataDirectory.mkpath( m_userConstDataDirectory.absolutePath() ) ) { status = false; }
if ( !m_logDirectory.mkpath( m_logDirectory.absolutePath() ) ) { status = false; } if ( !m_userLogDirectory.mkpath( m_userLogDirectory.absolutePath() ) ) { status = false; }
return( status ); return( status );
} }
@ -245,6 +122,252 @@ QString Paths::findConfigFile( const QString& defaultConfigFile )
return( QString() ); return( QString() );
} // Paths::findConfigFile } // Paths::findConfigFile
const QDir& Paths::prefixDirectory() const
{
return( m_prefixDirectory );
}
void Paths::setPrefixDirectory( const QString& prefixDirectory )
{
m_prefixDirectory = prefixDirectory;
}
const QDir& Paths::binaryDirectory() const
{
return( m_binaryDirectory );
}
void Paths::setBinaryDirectory( const QString& binaryDirectory )
{
m_binaryDirectory = binaryDirectory;
}
const QDir& Paths::userConfigDirectory() const
{
return( m_userConfigDirectory );
}
void Paths::setUserConfigDirectory( const QString& userConfigDirectory )
{
m_userConfigDirectory = userConfigDirectory;
}
const QDir& Paths::systemConfigDirectory() const
{
return( m_systemConfigDirectory );
}
void Paths::setSystemConfigDirectory( const QString& systemConfigDirectory )
{
m_systemConfigDirectory = systemConfigDirectory;
}
const QDir& Paths::localConfigDirectory() const
{
return( m_localConfigDirectory );
}
void Paths::setLocalConfigDirectory( const QString& localConfigDirectory )
{
m_localConfigDirectory = localConfigDirectory;
}
const QFileInfo& Paths::configFilePath() const
{
return( m_configFilePath );
}
void Paths::setConfigFilePath( const QFileInfo& configFilePath )
{
m_configFilePath = configFilePath;
}
const QString& Paths::configFileName() const
{
return( m_configFileName );
}
void Paths::setConfigFileName( const QString& configFileName )
{
m_configFileName = configFileName;
}
const QString& Paths::configFileExtension() const
{
return( m_configFileExtension );
}
void Paths::setConfigFileExtension( const QString& configFileExtension )
{
m_configFileExtension = configFileExtension;
}
const QDir& Paths::userVarDataDirectory() const
{
return( m_userVarDataDirectory );
}
void Paths::setUserVarDataDirectory( const QString& userVarDataDirectory )
{
m_userVarDataDirectory = userVarDataDirectory;
}
const QDir& Paths::systemVarDataDirectory() const
{
return( m_systemVarDataDirectory );
}
void Paths::setSystemVarDataDirectory( const QString& systemVarDataDirectory )
{
m_systemVarDataDirectory = systemVarDataDirectory;
}
const QDir& Paths::localVarDataDirectory() const
{
return( m_localVarDataDirectory );
}
void Paths::setLocalVarDataDirectory( const QString& localVarDataDirectory )
{
m_localVarDataDirectory = localVarDataDirectory;
}
const QDir& Paths::userConstDataDirectory() const
{
return( m_userConstDataDirectory );
}
void Paths::setUserConstDataDirectory( const QString& userConstDataDirectory )
{
m_userConstDataDirectory = userConstDataDirectory;
}
const QDir& Paths::systemConstDataDirectory() const
{
return( m_systemConstDataDirectory );
}
void Paths::setSystemConstDataDirectory( const QString& systemConstDataDirectory )
{
m_systemConstDataDirectory = systemConstDataDirectory;
}
const QDir& Paths::localConstDataDirectory() const
{
return( m_localConstDataDirectory );
}
void Paths::setLocalConstDataDirectory( const QString& localConstDataDirectory )
{
m_localConstDataDirectory = localConstDataDirectory;
}
const QDir& Paths::userLogDirectory() const
{
return( m_userLogDirectory );
}
void Paths::setUserLogDirectory( const QString& userLogDirectory )
{
m_userLogDirectory = userLogDirectory;
}
const QDir& Paths::systemLogDirectory() const
{
return( m_systemLogDirectory );
}
void Paths::setSystemLogDirectory( const QString& systemLogDirectory )
{
m_systemLogDirectory = systemLogDirectory;
}
const QDir& Paths::localLogDirectory() const
{
return( m_localLogDirectory );
}
void Paths::setLocalLogDirectory( const QString& localLogDirectory )
{
m_localLogDirectory = localLogDirectory;
}
const QDir& Paths::tempDirectory() const
{
return( m_tempDirectory );
}
void Paths::setTempDirectory( const QString& tempDirectory )
{
m_tempDirectory = tempDirectory;
}
const QDir& Paths::homeDirectory() const
{
return( m_homeDirectory );
}
const QString& Paths::projectDirectoryName() const
{
return( m_projectDirectoryName );
}
void Paths::setProjectDirectoryName( const QString& projectDirectoryName )
{
m_projectDirectoryName = projectDirectoryName;
}
const QString& Paths::executableFileName() const
{
return( m_currentExecutable.m_fileName );
}
const QFileInfo& Paths::executableFilePath() const
{
return( m_currentExecutable.m_canonicalFilePath );
}
} // namespace filesystem } // namespace filesystem
} // namespace myx } // namespace myx

View File

@ -6,41 +6,67 @@
#ifndef MYX_FILESYSTEM_PATHS_HPP_ #ifndef MYX_FILESYSTEM_PATHS_HPP_
#define MYX_FILESYSTEM_PATHS_HPP_ #define MYX_FILESYSTEM_PATHS_HPP_
#pragma once
#include <myx/filesystem/current_executable.hpp> #include <myx/filesystem/current_executable.hpp>
#include <QString> #include <QString>
#include <QDir> #include <QDir>
#include <QFileInfo> #include <QFileInfo>
namespace myx { namespace myx {
namespace filesystem { namespace filesystem {
class Paths class Paths
{ {
/// Путь к базовому каталогу /// @brief Путь к базовому каталогу
QDir m_prefixDirectory; QDir m_prefixDirectory;
/// Путь к каталогу с исполняемым файлом /// @brief Путь к каталогу с исполняемым файлом
QDir m_binaryDirectory; QDir m_binaryDirectory;
/// Путь к каталогу с изменяемыми файлами
QDir m_cacheDirectory; /// @brief Путь к пользовательскому каталогу с файлами настройки
/// Путь к каталогу с временными файлами QDir m_userConfigDirectory;
QDir m_tempDirectory; /// @brief Путь к системному каталогу с файлами настройки
/// Путь к каталогу с неизменяемыми файлами QDir m_systemConfigDirectory;
QDir m_dataDirectory; /// @brief Путь к локальному каталогу с файлами настройки
/// Путь к каталогу с журналами работы QDir m_localConfigDirectory;
QDir m_logDirectory; /// @brief Полный путь к файлу настройки
/// Путь к домашнему каталогу текущего пользователя
QDir m_homeDirectory;
/// Путь к каталогу с файлами настройки
QDir m_configDirectory;
/// Полный путь к файлу настройки
QFileInfo m_configFilePath; QFileInfo m_configFilePath;
/// Имя файла настройки /// @brief Имя файла настройки
QString m_configFileName; QString m_configFileName;
/// Расширение для файла настройки /// @brief Расширение для файла настройки
QString m_configFileExtension; QString m_configFileExtension;
/// @brief Путь к пользовательскому каталогу с изменяемыми файлами
QDir m_userVarDataDirectory;
/// @brief Путь к системному каталогу с изменяемыми файлами
QDir m_systemVarDataDirectory;
/// @brief Путь к локальному каталогу с изменяемыми файлами
QDir m_localVarDataDirectory;
/// @brief Путь к пользовательскому каталогу с неизменяемыми файлами
QDir m_userConstDataDirectory;
/// @brief Путь к системному каталогу с неизменяемыми файлами
QDir m_systemConstDataDirectory;
/// @brief Путь к локальному каталогу с неизменяемыми файлами
QDir m_localConstDataDirectory;
/// @brief Путь к пользовательскому каталогу с журналами работы
QDir m_userLogDirectory;
/// @brief Путь к системному каталогу с журналами работы
QDir m_systemLogDirectory;
/// @brief Путь к локальному каталогу с журналами работы
QDir m_localLogDirectory;
/// @brief Путь к каталогу с временными файлами
QDir m_tempDirectory;
/// @brief Путь к домашнему каталогу текущего пользователя
QDir m_homeDirectory;
/// @brief Имя подкаталога для проекта
QString m_projectDirectoryName;
/// Параметры текущего исполняемого файла /// Параметры текущего исполняемого файла
CurrentExecutable m_currentExecutable; CurrentExecutable m_currentExecutable;
@ -50,91 +76,12 @@ public:
* @param configFileExtension Расширение для файла настройки * @param configFileExtension Расширение для файла настройки
*/ */
Paths( QString configFileExtension = "conf" ); Paths( QString configFileExtension = "conf" );
/**
* @brief Получение пути к базовому каталогу
*/
QDir prefixDirectory() const;
/**
* @brief Установка пути к базовому каталогу
*/
void setPrefixDirectory( const QString& prefixDirectory );
/**
* @brief Получение пути к каталогу с исполняемым файлом
*/
QDir binaryDirectory() const;
/**
* @brief Установка пути к каталогу с исполняемым файлом
*/
void setBinaryDirectory( const QString& binaryDirectory );
/**
* @brief Получение пути к каталогу с файлами настройки
*/
QDir configDirectory() const;
/**
* @brief Установка пути к каталогу с файлами настройки
*/
void setConfigDirectory( const QString& configDirectory );
/**
* @brief Получение пути к каталогу с изменяемыми файлами
*/
QDir cacheDirectory() const;
/**
* @brief Установка пути к каталогу с изменяемыми файлами
*/
void setCacheDirectory( const QString& cacheDirectory );
/**
* @brief Получение пути к каталогу с временными файлами
*/
QDir tempDirectory() const;
/**
* @brief Установка пути к каталогу с временными файлами
*/
void setTempDirectory( const QString& tempDirectory );
/**
* @brief Получение пути к каталогу с неизменяемыми файлами
*/
QDir dataDirectory() const;
/**
* @brief Установка пути к каталогу с неизменяемыми файлами
*/
void setDataDirectory( const QString& dataDirectory );
/**
* @brief Получение пути к каталогу с журналами работы
*/
QDir logDirectory() const;
/**
* @brief Установка пути к каталогу с журналами работы
*/
void setLogDirectory( const QString& logDirectory );
/**
* @brief Имя исполняемого файла
*/
QString executableFileName() const;
/**
* @brief Полный путь к исполняемому файлу
*/
QFileInfo executableFilePath() const;
/**
* @brief Имя файла настройки
*/
QString configFileName() const;
/**
* @brief Установка имени файла настройки
*/
void setConfigFileName( const QString& configFileName );
/**
* @brief Полный путь к файлу настройки
*/
QFileInfo configFilePath() const;
/**
* @brief Установка полного пути к файлу настройки
*/
void setConfigFilePath( const QFileInfo& configFilePath );
/** /**
* @brief Обновление путей с учётом расположения исполняемого файла * @brief Обновление путей с учётом расположения исполняемого файла
*/ */
bool updatePaths(); bool updatePaths();
/** /**
* @brief Создание стандартных каталогов * @brief Создание стандартных каталогов
*/ */
@ -149,6 +96,191 @@ public:
* Если файл настройки не будет найден, то будет возвращена пустая строка * Если файл настройки не будет найден, то будет возвращена пустая строка
*/ */
QString findConfigFile( const QString& defaultConfigFile = "" ); QString findConfigFile( const QString& defaultConfigFile = "" );
/**
* @brief Получение пути к базовому каталогу
*/
const QDir& prefixDirectory() const;
/**
* @brief Установка пути к базовому каталогу
*/
void setPrefixDirectory( const QString& prefixDirectory );
/**
* @brief Получение пути к каталогу с исполняемым файлом
*/
const QDir& binaryDirectory() const;
/**
* @brief Установка пути к каталогу с исполняемым файлом
*/
void setBinaryDirectory( const QString& binaryDirectory );
/**
* @brief Получение пути к пользовательскому каталогу с файлами настройки
*/
const QDir& userConfigDirectory() const;
/**
* @brief Установка пути к пользовательскому каталогу с файлами настройки
*/
void setUserConfigDirectory( const QString& userConfigDirectory );
/**
* @brief Получение пути к системному каталогу с файлами настройки
*/
const QDir& systemConfigDirectory() const;
/**
* @brief Установка пути к системному каталогу с файлами настройки
*/
void setSystemConfigDirectory( const QString& systemConfigDirectory );
/**
* @brief Получение пути к локальному каталогу с файлами настройки
*/
const QDir& localConfigDirectory() const;
/**
* @brief Установка пути к локальному каталогу с файлами настройки
*/
void setLocalConfigDirectory( const QString& localConfigDirectory );
/**
* @brief Полный путь к файлу настройки
*/
const QFileInfo& configFilePath() const;
/**
* @brief Установка полного пути к файлу настройки
*/
void setConfigFilePath( const QFileInfo& configFilePath );
/**
* @brief Имя файла настройки
*/
const QString& configFileName() const;
/**
* @brief Установка имени файла настройки
*/
void setConfigFileName( const QString& configFileName );
/**
* @brief Расширение у файла настройки
*/
const QString& configFileExtension() const;
/**
* @brief Установка расширения у файла настройки
*/
void setConfigFileExtension( const QString& configFileExtension );
/**
* @brief Получение пути к пользовательскому каталогу с изменяемыми файлами
*/
const QDir& userVarDataDirectory() const;
/**
* @brief Установка пути к пользовательскому каталогу с изменяемыми файлами
*/
void setUserVarDataDirectory( const QString& userVarDataDirectory );
/**
* @brief Получение пути к системному каталогу с изменяемыми файлами
*/
const QDir& systemVarDataDirectory() const;
/**
* @brief Установка пути к системному каталогу с изменяемыми файлами
*/
void setSystemVarDataDirectory( const QString& systemVarDataDirectory );
/**
* @brief Получение пути к локальному каталогу с изменяемыми файлами
*/
const QDir& localVarDataDirectory() const;
/**
* @brief Установка пути к локальному каталогу с изменяемыми файлами
*/
void setLocalVarDataDirectory( const QString& localVarDataDirectory );
/**
* @brief Получение пути к пользовательскому каталогу с неизменяемыми файлами
*/
const QDir& userConstDataDirectory() const;
/**
* @brief Установка пути к пользовательскому каталогу с неизменяемыми файлами
*/
void setUserConstDataDirectory( const QString& userConstDataDirectory );
/**
* @brief Получение пути к системному каталогу с неизменяемыми файлами
*/
const QDir& systemConstDataDirectory() const;
/**
* @brief Установка пути к системному каталогу с неизменяемыми файлами
*/
void setSystemConstDataDirectory( const QString& systemConstDataDirectory );
/**
* @brief Получение пути к локальному каталогу с неизменяемыми файлами
*/
const QDir& localConstDataDirectory() const;
/**
* @brief Установка пути к локальному каталогу с неизменяемыми файлами
*/
void setLocalConstDataDirectory( const QString& localConstDataDirectory );
/**
* @brief Получение пути к пользовательскому каталогу с журналами работы
*/
const QDir& userLogDirectory() const;
/**
* @brief Установка пути к пользовательскому каталогу с журналами работы
*/
void setUserLogDirectory( const QString& userLogDirectory );
/**
* @brief Получение пути к системному каталогу с журналами работы
*/
const QDir& systemLogDirectory() const;
/**
* @brief Установка пути к системному каталогу с журналами работы
*/
void setSystemLogDirectory( const QString& systemLogDirectory );
/**
* @brief Получение пути к локальному каталогу с журналами работы
*/
const QDir& localLogDirectory() const;
/**
* @brief Установка пути к локальному каталогу с журналами работы
*/
void setLocalLogDirectory( const QString& localLogDirectory );
/**
* @brief Получение пути к каталогу с временными файлами
*/
const QDir& tempDirectory() const;
/**
* @brief Установка пути к каталогу с временными файлами
*/
void setTempDirectory( const QString& tempDirectory );
/**
* @brief Получение пути к домашнему каталогу текущего пользователя
*/
const QDir& homeDirectory() const;
/**
* @brief Имя подкаталога для проекта
*/
const QString& projectDirectoryName() const;
/**
* @brief Установка имени подкаталога для проекта
*/
void setProjectDirectoryName( const QString& projectDirectoryName );
/**
* @brief Имя исполняемого файла
*/
const QString& executableFileName() const;
/**
* @brief Полный путь к исполняемому файлу
*/
const QFileInfo& executableFilePath() const;
}; // class Paths }; // class Paths
} // namespace filesystem } // namespace filesystem