summaryrefslogtreecommitdiffstats
path: root/src/core/file_sys
diff options
context:
space:
mode:
authorarchshift <admin@archshift.com>2014-10-29 06:52:56 +0100
committerarchshift <admin@archshift.com>2014-11-02 19:48:28 +0100
commit04c90c395d27e6bc205fb2d933ced50e70c1841a (patch)
tree18f5e206016e383ad07493e3ad5ba1279301e6a8 /src/core/file_sys
parentMerge pull request #178 from archshift/errf (diff)
downloadyuzu-04c90c395d27e6bc205fb2d933ced50e70c1841a.tar
yuzu-04c90c395d27e6bc205fb2d933ced50e70c1841a.tar.gz
yuzu-04c90c395d27e6bc205fb2d933ced50e70c1841a.tar.bz2
yuzu-04c90c395d27e6bc205fb2d933ced50e70c1841a.tar.lz
yuzu-04c90c395d27e6bc205fb2d933ced50e70c1841a.tar.xz
yuzu-04c90c395d27e6bc205fb2d933ced50e70c1841a.tar.zst
yuzu-04c90c395d27e6bc205fb2d933ced50e70c1841a.zip
Diffstat (limited to 'src/core/file_sys')
-rw-r--r--src/core/file_sys/archive.h7
-rw-r--r--src/core/file_sys/archive_romfs.cpp10
-rw-r--r--src/core/file_sys/archive_romfs.h7
-rw-r--r--src/core/file_sys/archive_sdmc.cpp9
-rw-r--r--src/core/file_sys/archive_sdmc.h7
5 files changed, 40 insertions, 0 deletions
diff --git a/src/core/file_sys/archive.h b/src/core/file_sys/archive.h
index 560db6dea..aeabf09ac 100644
--- a/src/core/file_sys/archive.h
+++ b/src/core/file_sys/archive.h
@@ -57,6 +57,13 @@ public:
virtual std::unique_ptr<File> OpenFile(const std::string& path, const Mode mode) const = 0;
/**
+ * Create a directory specified by its path
+ * @param path Path relative to the archive
+ * @return Whether the directory could be created
+ */
+ virtual bool CreateDirectory(const std::string& path) const = 0;
+
+ /**
* Open a directory specified by its path
* @param path Path relative to the archive
* @return Opened directory, or nullptr
diff --git a/src/core/file_sys/archive_romfs.cpp b/src/core/file_sys/archive_romfs.cpp
index f101fc729..cc759faa8 100644
--- a/src/core/file_sys/archive_romfs.cpp
+++ b/src/core/file_sys/archive_romfs.cpp
@@ -34,6 +34,16 @@ std::unique_ptr<File> Archive_RomFS::OpenFile(const std::string& path, const Mod
}
/**
+ * Create a directory specified by its path
+ * @param path Path relative to the archive
+ * @return Whether the directory could be created
+ */
+bool Archive_RomFS::CreateDirectory(const std::string& path) const {
+ ERROR_LOG(FILESYS, "Attempted to create a directory in ROMFS.");
+ return false;
+};
+
+/**
* Open a directory specified by its path
* @param path Path relative to the archive
* @return Opened directory, or nullptr
diff --git a/src/core/file_sys/archive_romfs.h b/src/core/file_sys/archive_romfs.h
index fcdefa95f..ae2344e82 100644
--- a/src/core/file_sys/archive_romfs.h
+++ b/src/core/file_sys/archive_romfs.h
@@ -37,6 +37,13 @@ public:
std::unique_ptr<File> OpenFile(const std::string& path, const Mode mode) const override;
/**
+ * Create a directory specified by its path
+ * @param path Path relative to the archive
+ * @return Whether the directory could be created
+ */
+ bool CreateDirectory(const std::string& path) const override;
+
+ /**
* Open a directory specified by its path
* @param path Path relative to the archive
* @return Opened directory, or nullptr
diff --git a/src/core/file_sys/archive_sdmc.cpp b/src/core/file_sys/archive_sdmc.cpp
index 0b647f7d0..66931e93e 100644
--- a/src/core/file_sys/archive_sdmc.cpp
+++ b/src/core/file_sys/archive_sdmc.cpp
@@ -58,6 +58,15 @@ std::unique_ptr<File> Archive_SDMC::OpenFile(const std::string& path, const Mode
}
/**
+ * Create a directory specified by its path
+ * @param path Path relative to the archive
+ * @return Whether the directory could be created
+ */
+bool Archive_SDMC::CreateDirectory(const std::string& path) const {
+ return FileUtil::CreateDir(GetMountPoint() + path);
+}
+
+/**
* Open a directory specified by its path
* @param path Path relative to the archive
* @return Opened directory, or nullptr
diff --git a/src/core/file_sys/archive_sdmc.h b/src/core/file_sys/archive_sdmc.h
index f68648e6f..0e059b635 100644
--- a/src/core/file_sys/archive_sdmc.h
+++ b/src/core/file_sys/archive_sdmc.h
@@ -41,6 +41,13 @@ public:
std::unique_ptr<File> OpenFile(const std::string& path, const Mode mode) const override;
/**
+ * Create a directory specified by its path
+ * @param path Path relative to the archive
+ * @return Whether the directory could be created
+ */
+ bool CreateDirectory(const std::string& path) const override;
+
+ /**
* Open a directory specified by its path
* @param path Path relative to the archive
* @return Opened directory, or nullptr