#ifndef MYX_FILESYSTEM_PATHS_HPP_ #define MYX_FILESYSTEM_PATHS_HPP_ #include #include #include #include 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_logDirectory; QDir m_homeDirectory; QString m_configFileExtension; QString m_configFileName; QFileInfo m_configFilePath; CurrentExecutable m_currentExecutable; public: Paths( const QString& configFileExtension = "conf" ); 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 ); QDir logDirectory() const; void setLogDirectory( const QString& logDirectory ); QString executableFileName() const; QString configFileName() const; void setConfigFileName( const QString& configFileName ); QFileInfo executableFilePath() const; QFileInfo configFilePath() const; void setConfigFilePath( const QFileInfo& configFilePath ); bool updatePaths(); bool makeDefaultDirectories(); QString findConfigFile( const QString& defaultConfigFile = "" ); }; // class Paths } // namespace filesystem } // namespace myx #endif // MYX_FILESYSTEM_PATHS_HPP_