Files
Nuake-custom/Nuake/src/FileSystem/File.h

42 lines
959 B
C++

#pragma once
#include "src/Core/Core.h"
#include "Directory.h"
#include "FileTypes.h"
namespace Nuake
{
class File
{
public:
File(Ref<Directory> parentDir, const std::string& absolutePath, const std::string& name, const std::string& type);
~File() = default;
public:
std::string GetName() const { return name; }
std::string GetExtension() const { return type; }
std::string GetRelativePath() const { return relativePath; }
std::string GetAbsolutePath() const { return absolutePath; }
Ref<Directory> GetParent() const { return parent; }
bool GetHasBeenModified() const { return modified; }
void SetHasBeenModified(bool value) { modified = value; }
FileType GetFileType() const;
std::string GetFileTypeAsString() const;
std::string Read() const;
bool Exist() const;
private:
std::string type;
std::string name;
std::string relativePath;
std::string absolutePath;
bool modified;
Ref<Directory> parent;
};
}