mirror of
https://github.com/vcmi/vcmi.git
synced 2024-12-22 22:13:35 +02:00
dd73573c5c
- reorganized internal filesystem structure - all files from one mod are now grouped in same FS node - modhandler will now calculate crc32 checksum for each mod - modhandler now knows validation status of each mod todo - use checksum to determine mods that have not changed since last start and disable validation for them.
114 lines
2.1 KiB
C++
114 lines
2.1 KiB
C++
#pragma once
|
|
|
|
/*
|
|
* CFileInfo.h, part of VCMI engine
|
|
*
|
|
* Authors: listed in file AUTHORS in main folder
|
|
*
|
|
* License: GNU General Public License v2.0 or later
|
|
* Full text of license available in license.txt file, in main folder
|
|
*
|
|
*/
|
|
|
|
#include "ResourceID.h"
|
|
|
|
/**
|
|
* A class which holds information about a file.
|
|
*/
|
|
class DLL_LINKAGE CFileInfo
|
|
{
|
|
public:
|
|
/**
|
|
* Default ctor.
|
|
*/
|
|
CFileInfo();
|
|
|
|
/**
|
|
* Ctor.
|
|
*
|
|
* @param name The path and name of the file.
|
|
*/
|
|
explicit CFileInfo(std::string name);
|
|
|
|
/**
|
|
* Checks if the file exists.
|
|
*
|
|
* @return true if the file exists, false if not.
|
|
*/
|
|
bool exists() const;
|
|
|
|
/**
|
|
* Checks if the file is a directory.
|
|
*
|
|
* @return true if the file is a directory, false if not.
|
|
*/
|
|
bool isDirectory() const;
|
|
|
|
/**
|
|
* Sets the name.
|
|
*
|
|
* @param name The name of the file
|
|
*/
|
|
void setName(const std::string & name);
|
|
|
|
/**
|
|
* Gets the name of the file.
|
|
*
|
|
* @return the path and name of the file. E.g. ./dir/file.ext
|
|
*/
|
|
std::string getName() const;
|
|
|
|
/**
|
|
* Gets the path to the file only.
|
|
*
|
|
* @return the path to the file only. E.g. ./dir/
|
|
*/
|
|
std::string getPath() const;
|
|
|
|
/**
|
|
* Gets the file extension.
|
|
*
|
|
* @return the file extension. E.g. .ext
|
|
*/
|
|
std::string getExtension() const;
|
|
|
|
/**
|
|
* Returns the name of the file.
|
|
*
|
|
* @return the name of the file. E.g. foo.txt
|
|
*/
|
|
std::string getFilename() const;
|
|
|
|
/**
|
|
* Gets the file name + path exclusive the extension of the file.
|
|
*
|
|
* @return the file name exclusive the extension of the file. E.g. ./dir/foo
|
|
*/
|
|
std::string getStem() const;
|
|
|
|
/**
|
|
* Gets the file name exclusive the extension of the file.
|
|
*
|
|
* @return the file name exclusive the extension and a path of the file. E.g. foo
|
|
*/
|
|
std::string getBaseName() const;
|
|
|
|
/**
|
|
* Gets the extension type as a EResType enumeration.
|
|
*
|
|
* @return the extension type as a EResType enumeration.
|
|
*/
|
|
EResType::Type getType() const;
|
|
|
|
/**
|
|
* Gets the timestamp of the file.
|
|
*
|
|
* @return the timestamp of the file, 0 if no timestamp was set
|
|
*/
|
|
std::time_t getDate() const;
|
|
|
|
private:
|
|
/** Contains the original URI(not modified) e.g. ./dir/foo.txt */
|
|
std::string name;
|
|
};
|