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