37 lines
911 B
C++
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;
|
|
};
|
|
} |