myxlib/src/myx/filesystem/paths.hpp

59 lines
1.6 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;
QString m_executableFileName;
QString m_configFileName;
QFileInfo m_executableFilePath;
QFileInfo m_configFilePath;
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 );
QString executableFileName() const;
void setExecutableFileName( const QString& executableFileName );
QString configFileName() const;
void setConfigFileName( const QString& configFileName );
QFileInfo executableFilePath() const;
void setExecutableFilePath( const QFileInfo& executableFilePath );
QFileInfo configFilePath() const;
void setConfigFilePath( const QFileInfo& configFilePath );
bool updatePaths();
bool makePaths();
QString findConfigFile( const QString& defaultConfigFile = "" );
}; // class Paths
} // namespace filesystem
} // namespace myx
#endif // MYX_FILESYSTEM_PATHS_HPP_