diff options
author | archshift <admin@archshift.com> | 2014-11-24 08:20:04 +0100 |
---|---|---|
committer | archshift <admin@archshift.com> | 2014-11-25 00:09:11 +0100 |
commit | 45afc15aa6b9b1798a321bc053171deb765d7681 (patch) | |
tree | 54da02809c463f89462c3b29a48fb1564f699f01 /src/core/file_sys | |
parent | Merge pull request #147 from yuriks/error-codes (diff) | |
download | yuzu-45afc15aa6b9b1798a321bc053171deb765d7681.tar yuzu-45afc15aa6b9b1798a321bc053171deb765d7681.tar.gz yuzu-45afc15aa6b9b1798a321bc053171deb765d7681.tar.bz2 yuzu-45afc15aa6b9b1798a321bc053171deb765d7681.tar.lz yuzu-45afc15aa6b9b1798a321bc053171deb765d7681.tar.xz yuzu-45afc15aa6b9b1798a321bc053171deb765d7681.tar.zst yuzu-45afc15aa6b9b1798a321bc053171deb765d7681.zip |
Diffstat (limited to 'src/core/file_sys')
-rw-r--r-- | src/core/file_sys/archive.h | 8 | ||||
-rw-r--r-- | src/core/file_sys/archive_romfs.cpp | 11 | ||||
-rw-r--r-- | src/core/file_sys/archive_romfs.h | 8 | ||||
-rw-r--r-- | src/core/file_sys/archive_sdmc.cpp | 10 | ||||
-rw-r--r-- | src/core/file_sys/archive_sdmc.h | 8 |
5 files changed, 45 insertions, 0 deletions
diff --git a/src/core/file_sys/archive.h b/src/core/file_sys/archive.h index 2e79bb883..703742a1f 100644 --- a/src/core/file_sys/archive.h +++ b/src/core/file_sys/archive.h @@ -192,6 +192,14 @@ public: virtual bool DeleteFile(const FileSys::Path& path) const = 0; /** + * Rename a File specified by its path + * @param src_path Source path relative to the archive + * @param dest_path Destination path relative to the archive + * @return Whether rename succeeded + */ + virtual bool RenameFile(const FileSys::Path& src_path, const FileSys::Path& dest_path) const = 0; + + /** * Delete a directory specified by its path * @param path Path relative to the archive * @return Whether the directory could be deleted diff --git a/src/core/file_sys/archive_romfs.cpp b/src/core/file_sys/archive_romfs.cpp index 53dc57954..5594c5910 100644 --- a/src/core/file_sys/archive_romfs.cpp +++ b/src/core/file_sys/archive_romfs.cpp @@ -44,6 +44,17 @@ bool Archive_RomFS::DeleteFile(const FileSys::Path& path) const { } /** + * Rename a File specified by its path + * @param src_path Source path relative to the archive + * @param dest_path Destination path relative to the archive + * @return Whether rename succeeded + */ +bool Archive_RomFS::RenameFile(const FileSys::Path& src_path, const FileSys::Path& dest_path) const { + ERROR_LOG(FILESYS, "Attempted to rename a file within ROMFS."); + return false; +} + +/** * Delete a directory specified by its path * @param path Path relative to the archive * @return Whether the directory could be deleted diff --git a/src/core/file_sys/archive_romfs.h b/src/core/file_sys/archive_romfs.h index 0649dde99..d14372a01 100644 --- a/src/core/file_sys/archive_romfs.h +++ b/src/core/file_sys/archive_romfs.h @@ -44,6 +44,14 @@ public: bool DeleteFile(const FileSys::Path& path) const override; /** + * Rename a File specified by its path + * @param src_path Source path relative to the archive + * @param dest_path Destination path relative to the archive + * @return Whether rename succeeded + */ + bool RenameFile(const FileSys::Path& src_path, const FileSys::Path& dest_path) const override; + + /** * Delete a directory specified by its path * @param path Path relative to the archive * @return Whether the directory could be deleted diff --git a/src/core/file_sys/archive_sdmc.cpp b/src/core/file_sys/archive_sdmc.cpp index c2ffcd40d..24bc43a02 100644 --- a/src/core/file_sys/archive_sdmc.cpp +++ b/src/core/file_sys/archive_sdmc.cpp @@ -67,6 +67,16 @@ bool Archive_SDMC::DeleteFile(const FileSys::Path& path) const { } /** + * Rename a File specified by its path + * @param src_path Source path relative to the archive + * @param dest_path Destination path relative to the archive + * @return Whether rename succeeded + */ +bool Archive_SDMC::RenameFile(const FileSys::Path& src_path, const FileSys::Path& dest_path) const { + return FileUtil::Rename(GetMountPoint() + src_path.AsString(), GetMountPoint() + dest_path.AsString()); +} + +/** * Delete a directory specified by its path * @param path Path relative to the archive * @return Whether the directory could be deleted diff --git a/src/core/file_sys/archive_sdmc.h b/src/core/file_sys/archive_sdmc.h index 74ce29c0d..0dbed987b 100644 --- a/src/core/file_sys/archive_sdmc.h +++ b/src/core/file_sys/archive_sdmc.h @@ -48,6 +48,14 @@ public: bool DeleteFile(const FileSys::Path& path) const override; /** + * Rename a File specified by its path + * @param src_path Source path relative to the archive + * @param dest_path Destination path relative to the archive + * @return Whether rename succeeded + */ + bool RenameFile(const FileSys::Path& src_path, const FileSys::Path& dest_path) const override; + + /** * Delete a directory specified by its path * @param path Path relative to the archive * @return Whether the directory could be deleted |