class EE::System::FileInfo

#include <fileinfo.hpp>

class FileInfo {
public:
    // construction

    FileInfo();
    FileInfo(const std::string& filepath);
    FileInfo(const std::string& filepath, bool linkInfo);
    FileInfo(const FileInfo& other);

    // methods

    static bool exists(const std::string& filePath);
    static bool isLink(const std::string& filePath);
    static bool inodeSupported();
    bool operator==(const FileInfo& other) const;
    bool operator!=(const FileInfo& other) const;
    FileInfo& operator=(const FileInfo& other);
    bool isExecutable() const;
    bool isDirectory() const;
    bool isRegularFile() const;
    bool isReadable() const;
    bool sameInode(const FileInfo& other) const;
    bool isLink() const;
    bool isHidden() const;
    bool linksToDirectory() const;
    std::string linksTo() const;
    std::string getRealPath() const;
    bool exists() const;
    void getInfo();
    void getRealInfo();
    const std::string& getFilepath() const;
    const std::string& getFileName() const;
    std::string getDirectoryPath() const;
    const Uint64& getModificationTime() const;
    const Uint64& getSize() const;
    const Uint32& getOwnerId() const;
    const Uint32& getGroupId() const;
    const Uint32& getPermissions() const;
    const Uint64& getInode() const;
    bool isUninitialized() const;
    std::string getExtension(const bool& lowerExt = true) const;
};