myxlib/src/filesystem/paths.hpp

53 lines
1.3 KiB
C++
Raw Normal View History

#ifndef MYX_FILESYSTEM_PATHS_HPP_
#define MYX_FILESYSTEM_PATHS_HPP_
#include <QString>
#include <QDir>
#include <QFileInfo>
namespace myx {
namespace filesystem {
class Paths
{
QDir m_prefixDirectory;
QDir m_binaryDirectory;
QDir m_configDirectory;
QDir m_cacheDirectory;
QDir m_tempDirectory;
QDir m_dataDirectory;
QDir m_homeDirectory;
QFileInfo m_executableFile;
QFileInfo m_configFile;
public:
Paths();
QDir prefixDirectory() const;
void setPrefixDirectory( const QString& prefixDirectory );
QDir binaryDirectory() const;
void setBinaryDirectory( const QString& binaryDirectory );
QDir configDirectory() const;
void setConfigDirectory( const QString& configDirectory );
QDir cacheDirectory() const;
void setCacheDirectory( const QString& cacheDirectory );
QDir tempDirectory() const;
void setTempDirectory( const QString& tempDirectory );
QDir dataDirectory() const;
void setDataDirectory( const QString& dataDirectory );
QFileInfo executableFile() const;
void setExecutableFile( const QString& executableFile );
QFileInfo configFile() const;
void setConfigFile( const QString& configFile );
bool updatePaths();
bool makePaths();
2019-10-04 12:33:49 +00:00
QString findConfigFile( const QString& defaultConfigFile = QLatin1String("") );
}; // class Paths
} // namespace filesystem
} // namespace myx
#endif // MYX_FILESYSTEM_PATHS_HPP_