AuroraRuntime/Include/Aurora/IO/FS/IReadDir.hpp

37 lines
911 B
C++

/***
Copyright (C) 2022 J Reece Wilson (a/k/a "Reece"). All rights reserved.
File: IReadDir.hpp
Date: 2022-07-22
Author: Reece
***/
#pragma once
namespace Aurora::IO::FS
{
struct StatEx : Stat
{
/**
* @brief A normalized file path of the file or directory
*/
AuString path;
/**
* @brief The filename part of a full path
*/
AuString fileName;
};
struct IReadDir
{
/**
* @brief Iterates over files and directories
*
* @return
* 1) a temporary pointer to an `StatEx` of the next file/dir in the directory
* 1) nullptr to indicate end of listing
* 2) nullptr to indicate error; wont recover TODO (Reece): this sucks but it's still an acceptable ambiguation for end of iteration.
*/
virtual StatEx *Next() = 0;
};
}