From f6000c9088ee63428f65ee980f6751f85a7e7d7e Mon Sep 17 00:00:00 2001 From: Andrei Karas Date: Tue, 12 Mar 2013 01:12:29 +0300 Subject: Add all files delete function to resource manager. --- src/resources/resourcemanager.cpp | 16 ++++++++++++++++ src/resources/resourcemanager.h | 2 ++ 2 files changed, 18 insertions(+) diff --git a/src/resources/resourcemanager.cpp b/src/resources/resourcemanager.cpp index e8e9f14c1..9a4d1c3f1 100644 --- a/src/resources/resourcemanager.cpp +++ b/src/resources/resourcemanager.cpp @@ -42,6 +42,7 @@ #include #include +#include #include #include #include @@ -1104,3 +1105,18 @@ void ResourceManager::removeDelayLoad(const AnimationDelayLoad } } } + +void ResourceManager::deleteFilesInDirectory(std::string path) +{ + path += "/"; + struct dirent *next_file; + DIR *dir = opendir(path.c_str()); + + while ((next_file = readdir(dir))) + { + const std::string file = next_file->d_name; + const std::string name = path + file; + if (file != "." && file != "..") + remove(name.c_str()); + } +} diff --git a/src/resources/resourcemanager.h b/src/resources/resourcemanager.h index c010affd0..0248aeda2 100644 --- a/src/resources/resourcemanager.h +++ b/src/resources/resourcemanager.h @@ -325,6 +325,8 @@ class ResourceManager final static void removeDelayLoad(const AnimationDelayLoad *const delayedLoad); + static void deleteFilesInDirectory(std::string path); + private: /** * Deletes the resource after logging a cleanup message. -- cgit v1.2.3-60-g2f50