From df9b2ff599ad9b49baa905f84b3006db96080c28 Mon Sep 17 00:00:00 2001 From: Andrey Astafyev Date: Wed, 8 Apr 2020 07:34:47 +0300 Subject: [PATCH] =?UTF-8?q?=D0=98=D1=81=D0=BF=D1=80=D0=B0=D0=B2=D0=BB?= =?UTF-8?q?=D0=B5=D0=BD=D0=B0=20=D0=BE=D0=B1=D0=BB=D0=B0=D1=81=D1=82=D1=8C?= =?UTF-8?q?=20=D0=B2=D0=B8=D0=B4=D0=B8=D0=BC=D0=BE=D1=81=D1=82=D0=B8=20?= =?UTF-8?q?=D0=BC=D0=B5=D1=82=D0=BE=D0=B4=D0=BE=D0=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/myx/filesystem/paths.cpp | 8 +- src/myx/filesystem/paths.hpp | 146 +++++++++++++++-------------------- 2 files changed, 66 insertions(+), 88 deletions(-) diff --git a/src/myx/filesystem/paths.cpp b/src/myx/filesystem/paths.cpp index 9920e2d..9295e88 100644 --- a/src/myx/filesystem/paths.cpp +++ b/src/myx/filesystem/paths.cpp @@ -16,17 +16,17 @@ Paths::Paths() = default; Paths* Paths::getInstance() { volatile Paths* localInstance = mInstance.load( std::memory_order_acquire ); - if ( !localInstance ) + if ( localInstance == nullptr ) { std::lock_guard< std::mutex > myLock( mMutex ); localInstance = mInstance.load( std::memory_order_relaxed ); - if ( !localInstance ) // -V1036 + if ( localInstance == nullptr ) // -V1036 { localInstance = new Paths(); - mInstance.store( const_cast< Paths* >( localInstance ), std::memory_order_release ); + mInstance.store( const_cast< Paths* >( localInstance ), std::memory_order_release ); // NOLINT } } - return( const_cast< Paths* >( localInstance ) ); + return( const_cast< Paths* >( localInstance ) ); // NOLINT } diff --git a/src/myx/filesystem/paths.hpp b/src/myx/filesystem/paths.hpp index 0f7a008..ec6608f 100644 --- a/src/myx/filesystem/paths.hpp +++ b/src/myx/filesystem/paths.hpp @@ -117,46 +117,21 @@ public: * @brief Получение пути к базовому каталогу */ const QDir& prefixDirectory() const; - /** - * @brief Установка пути к базовому каталогу - */ - void setPrefixDirectory( const QString& prefixDirectory ); /** * @brief Получение пути к каталогу с исполняемым файлом */ 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 Полный путь к файлу настройки @@ -189,91 +164,36 @@ public: * @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 Получение пути к домашнему каталогу текущего пользователя @@ -284,19 +204,77 @@ public: * @brief Имя подкаталога для проекта */ const QString& projectDirectoryName() const; - /** - * @brief Установка имени подкаталога для проекта - */ - void setProjectDirectoryName( const QString& projectDirectoryName ); /** * @brief Имя исполняемого файла */ QString executableFileName() const; + /** * @brief Полный путь к исполняемому файлу */ const QFileInfo& executableFilePath() const; + +private: + /** + * @brief Установка пути к базовому каталогу + */ + void setPrefixDirectory( const QString& prefixDirectory ); + + /** + * @brief Установка пути к каталогу с исполняемым файлом + */ + void setBinaryDirectory( const QString& binaryDirectory ); + + /** + * @brief Установка пути к пользовательскому каталогу с файлами настройки + */ + void setUserConfigDirectory( const QString& userConfigDirectory ); + + /** + * @brief Установка пути к системному каталогу с файлами настройки + */ + void setSystemConfigDirectory( const QString& systemConfigDirectory ); + + /** + * @brief Установка пути к пользовательскому каталогу с изменяемыми файлами + */ + void setUserVarDataDirectory( const QString& userVarDataDirectory ); + + /** + * @brief Установка пути к системному каталогу с изменяемыми файлами + */ + void setSystemVarDataDirectory( const QString& systemVarDataDirectory ); + + /** + * @brief Установка пути к пользовательскому каталогу с неизменяемыми файлами + */ + void setUserConstDataDirectory( const QString& userConstDataDirectory ); + + /** + * @brief Установка пути к системному каталогу с неизменяемыми файлами + */ + void setSystemConstDataDirectory( const QString& systemConstDataDirectory ); + + /** + * @brief Установка пути к пользовательскому каталогу с журналами работы + */ + void setUserLogDirectory( const QString& userLogDirectory ); + + /** + * @brief Установка пути к системному каталогу с журналами работы + */ + void setSystemLogDirectory( const QString& systemLogDirectory ); + + /** + * @brief Установка пути к каталогу с временными файлами + */ + void setTempDirectory( const QString& tempDirectory ); + + /** + * @brief Установка имени подкаталога для проекта + */ + void setProjectDirectoryName( const QString& projectDirectoryName ); }; // class Paths } // namespace filesystem