mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2024-11-14 21:37:52 -07:00
Add warning flags to File deletion functions
Adds a flag to File::Delete and File::DeleteDir functions to control whether a console warning is emitted when the file or directory doesn't exist. The flag is optional and true by default to match current behavior.
This commit is contained in:
parent
c434eefe94
commit
4a55511e18
@ -135,7 +135,7 @@ bool IsFile(const std::string& path)
|
||||
|
||||
// Deletes a given filename, return true on success
|
||||
// Doesn't supports deleting a directory
|
||||
bool Delete(const std::string& filename)
|
||||
bool Delete(const std::string& filename, IfAbsentBehavior behavior)
|
||||
{
|
||||
INFO_LOG_FMT(COMMON, "Delete: file {}", filename);
|
||||
|
||||
@ -153,8 +153,11 @@ bool Delete(const std::string& filename)
|
||||
|
||||
// Return true because we care about the file not being there, not the actual delete.
|
||||
if (!file_info.Exists())
|
||||
{
|
||||
if (behavior == IfAbsentBehavior::ConsoleWarning)
|
||||
{
|
||||
WARN_LOG_FMT(COMMON, "Delete: {} does not exist", filename);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
@ -253,14 +256,17 @@ bool CreateFullPath(const std::string& fullPath)
|
||||
}
|
||||
|
||||
// Deletes a directory filename, returns true on success
|
||||
bool DeleteDir(const std::string& filename)
|
||||
bool DeleteDir(const std::string& filename, IfAbsentBehavior behavior)
|
||||
{
|
||||
INFO_LOG_FMT(COMMON, "DeleteDir: directory {}", filename);
|
||||
|
||||
// Return true because we care about the directory not being there, not the actual delete.
|
||||
if (!File::Exists(filename))
|
||||
{
|
||||
if (behavior == IfAbsentBehavior::ConsoleWarning)
|
||||
{
|
||||
WARN_LOG_FMT(COMMON, "DeleteDir: {} does not exist", filename);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@ -136,12 +136,20 @@ bool CreateDir(const std::string& filename);
|
||||
// Creates the full path of fullPath returns true on success
|
||||
bool CreateFullPath(const std::string& fullPath);
|
||||
|
||||
enum class IfAbsentBehavior
|
||||
{
|
||||
ConsoleWarning,
|
||||
NoConsoleWarning
|
||||
};
|
||||
|
||||
// Deletes a given filename, return true on success
|
||||
// Doesn't supports deleting a directory
|
||||
bool Delete(const std::string& filename);
|
||||
bool Delete(const std::string& filename,
|
||||
IfAbsentBehavior behavior = IfAbsentBehavior::ConsoleWarning);
|
||||
|
||||
// Deletes a directory filename, returns true on success
|
||||
bool DeleteDir(const std::string& filename);
|
||||
bool DeleteDir(const std::string& filename,
|
||||
IfAbsentBehavior behavior = IfAbsentBehavior::ConsoleWarning);
|
||||
|
||||
// renames file srcFilename to destFilename, returns true on success
|
||||
bool Rename(const std::string& srcFilename, const std::string& destFilename);
|
||||
|
Loading…
Reference in New Issue
Block a user