Исправлена область видимости методов

This commit is contained in:
Andrei Astafev 2020-04-08 07:34:47 +03:00
parent a168e29d8d
commit df9b2ff599
2 changed files with 66 additions and 88 deletions

View File

@ -16,17 +16,17 @@ Paths::Paths() = default;
Paths* Paths::getInstance() Paths* Paths::getInstance()
{ {
volatile Paths* localInstance = mInstance.load( std::memory_order_acquire ); volatile Paths* localInstance = mInstance.load( std::memory_order_acquire );
if ( !localInstance ) if ( localInstance == nullptr )
{ {
std::lock_guard< std::mutex > myLock( mMutex ); std::lock_guard< std::mutex > myLock( mMutex );
localInstance = mInstance.load( std::memory_order_relaxed ); localInstance = mInstance.load( std::memory_order_relaxed );
if ( !localInstance ) // -V1036 if ( localInstance == nullptr ) // -V1036
{ {
localInstance = new Paths(); 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
} }

View File

@ -117,46 +117,21 @@ public:
* @brief Получение пути к базовому каталогу * @brief Получение пути к базовому каталогу
*/ */
const QDir& prefixDirectory() const; const QDir& prefixDirectory() const;
/**
* @brief Установка пути к базовому каталогу
*/
void setPrefixDirectory( const QString& prefixDirectory );
/** /**
* @brief Получение пути к каталогу с исполняемым файлом * @brief Получение пути к каталогу с исполняемым файлом
*/ */
QDir binaryDirectory() const; QDir binaryDirectory() const;
/**
* @brief Установка пути к каталогу с исполняемым файлом
*/
void setBinaryDirectory( const QString& binaryDirectory );
/** /**
* @brief Получение пути к пользовательскому каталогу с файлами настройки * @brief Получение пути к пользовательскому каталогу с файлами настройки
*/ */
const QDir& userConfigDirectory() const; const QDir& userConfigDirectory() const;
/**
* @brief Установка пути к пользовательскому каталогу с файлами настройки
*/
void setUserConfigDirectory( const QString& userConfigDirectory );
/** /**
* @brief Получение пути к системному каталогу с файлами настройки * @brief Получение пути к системному каталогу с файлами настройки
*/ */
const QDir& systemConfigDirectory() const; const QDir& systemConfigDirectory() const;
/**
* @brief Установка пути к системному каталогу с файлами настройки
*/
void setSystemConfigDirectory( const QString& systemConfigDirectory );
/**
* @brief Получение пути к локальному каталогу с файлами настройки
*/
const QDir& localConfigDirectory() const;
/**
* @brief Установка пути к локальному каталогу с файлами настройки
*/
void setLocalConfigDirectory( const QString& localConfigDirectory );
/** /**
* @brief Полный путь к файлу настройки * @brief Полный путь к файлу настройки
@ -189,91 +164,36 @@ public:
* @brief Получение пути к пользовательскому каталогу с изменяемыми файлами * @brief Получение пути к пользовательскому каталогу с изменяемыми файлами
*/ */
const QDir& userVarDataDirectory() const; const QDir& userVarDataDirectory() const;
/**
* @brief Установка пути к пользовательскому каталогу с изменяемыми файлами
*/
void setUserVarDataDirectory( const QString& userVarDataDirectory );
/** /**
* @brief Получение пути к системному каталогу с изменяемыми файлами * @brief Получение пути к системному каталогу с изменяемыми файлами
*/ */
const QDir& systemVarDataDirectory() const; const QDir& systemVarDataDirectory() const;
/**
* @brief Установка пути к системному каталогу с изменяемыми файлами
*/
void setSystemVarDataDirectory( const QString& systemVarDataDirectory );
/**
* @brief Получение пути к локальному каталогу с изменяемыми файлами
*/
const QDir& localVarDataDirectory() const;
/**
* @brief Установка пути к локальному каталогу с изменяемыми файлами
*/
void setLocalVarDataDirectory( const QString& localVarDataDirectory );
/** /**
* @brief Получение пути к пользовательскому каталогу с неизменяемыми файлами * @brief Получение пути к пользовательскому каталогу с неизменяемыми файлами
*/ */
const QDir& userConstDataDirectory() const; const QDir& userConstDataDirectory() const;
/**
* @brief Установка пути к пользовательскому каталогу с неизменяемыми файлами
*/
void setUserConstDataDirectory( const QString& userConstDataDirectory );
/** /**
* @brief Получение пути к системному каталогу с неизменяемыми файлами * @brief Получение пути к системному каталогу с неизменяемыми файлами
*/ */
const QDir& systemConstDataDirectory() const; const QDir& systemConstDataDirectory() const;
/**
* @brief Установка пути к системному каталогу с неизменяемыми файлами
*/
void setSystemConstDataDirectory( const QString& systemConstDataDirectory );
/**
* @brief Получение пути к локальному каталогу с неизменяемыми файлами
*/
const QDir& localConstDataDirectory() const;
/**
* @brief Установка пути к локальному каталогу с неизменяемыми файлами
*/
void setLocalConstDataDirectory( const QString& localConstDataDirectory );
/** /**
* @brief Получение пути к пользовательскому каталогу с журналами работы * @brief Получение пути к пользовательскому каталогу с журналами работы
*/ */
const QDir& userLogDirectory() const; const QDir& userLogDirectory() const;
/**
* @brief Установка пути к пользовательскому каталогу с журналами работы
*/
void setUserLogDirectory( const QString& userLogDirectory );
/** /**
* @brief Получение пути к системному каталогу с журналами работы * @brief Получение пути к системному каталогу с журналами работы
*/ */
const QDir& systemLogDirectory() const; const QDir& systemLogDirectory() const;
/**
* @brief Установка пути к системному каталогу с журналами работы
*/
void setSystemLogDirectory( const QString& systemLogDirectory );
/**
* @brief Получение пути к локальному каталогу с журналами работы
*/
const QDir& localLogDirectory() const;
/**
* @brief Установка пути к локальному каталогу с журналами работы
*/
void setLocalLogDirectory( const QString& localLogDirectory );
/** /**
* @brief Получение пути к каталогу с временными файлами * @brief Получение пути к каталогу с временными файлами
*/ */
const QDir& tempDirectory() const; const QDir& tempDirectory() const;
/**
* @brief Установка пути к каталогу с временными файлами
*/
void setTempDirectory( const QString& tempDirectory );
/** /**
* @brief Получение пути к домашнему каталогу текущего пользователя * @brief Получение пути к домашнему каталогу текущего пользователя
@ -284,19 +204,77 @@ public:
* @brief Имя подкаталога для проекта * @brief Имя подкаталога для проекта
*/ */
const QString& projectDirectoryName() const; const QString& projectDirectoryName() const;
/**
* @brief Установка имени подкаталога для проекта
*/
void setProjectDirectoryName( const QString& projectDirectoryName );
/** /**
* @brief Имя исполняемого файла * @brief Имя исполняемого файла
*/ */
QString executableFileName() const; QString executableFileName() const;
/** /**
* @brief Полный путь к исполняемому файлу * @brief Полный путь к исполняемому файлу
*/ */
const QFileInfo& executableFilePath() const; 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 }; // class Paths
} // namespace filesystem } // namespace filesystem