aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core/file_sys/archive_sdmc.cpp
diff options
context:
space:
mode:
authorGravatar Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>2014-09-12 00:47:05 +0200
committerGravatar Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>2014-09-17 14:35:46 +0000
commitc14e5713f52cd58f2a8206d844448a8c2d1a54b6 (patch)
tree00b089a33c950107ad161a36b1c17808a85eef88 /src/core/file_sys/archive_sdmc.cpp
parent33b0d1081e27b83408786e83ff7d13a4a2acb45c (diff)
Core: Add a method to obtain a Directory from an Archive.
Diffstat (limited to 'src/core/file_sys/archive_sdmc.cpp')
-rw-r--r--src/core/file_sys/archive_sdmc.cpp12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/core/file_sys/archive_sdmc.cpp b/src/core/file_sys/archive_sdmc.cpp
index fb155430..30d33be5 100644
--- a/src/core/file_sys/archive_sdmc.cpp
+++ b/src/core/file_sys/archive_sdmc.cpp
@@ -8,6 +8,7 @@
#include "common/file_util.h"
#include "core/file_sys/archive_sdmc.h"
+#include "core/file_sys/directory_sdmc.h"
#include "core/file_sys/file_sdmc.h"
////////////////////////////////////////////////////////////////////////////////////////////////////
@@ -45,6 +46,17 @@ std::unique_ptr<File> Archive_SDMC::OpenFile(const std::string& path, const Mode
}
/**
+ * Open a directory specified by its path
+ * @param path Path relative to the archive
+ * @return Opened directory, or nullptr
+ */
+std::unique_ptr<Directory> Archive_SDMC::OpenDirectory(const std::string& path) const {
+ DEBUG_LOG(FILESYS, "called path=%s", path.c_str());
+ Directory_SDMC* directory = new Directory_SDMC(this, path);
+ return std::unique_ptr<Directory>(directory);
+}
+
+/**
* Read data from the archive
* @param offset Offset in bytes to start reading archive from
* @param length Length in bytes to read data from archive