summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorGravatar bunnei2018-10-28 02:29:52 -0400
committerGravatar GitHub2018-10-28 02:29:52 -0400
commit0d449b77e29cce33480f26ce235a8ce0a97202d7 (patch)
treed91b1cf552a67ddaa1d4a1e8075420ca07e0d973 /src
parentMerge pull request #1600 from DarkLordZach/nsp-secondary-loader-fix (diff)
parentservice/filesystem: Add DirectoryDelete & DirectoryDeleteRecursively (diff)
downloadyuzu-0d449b77e29cce33480f26ce235a8ce0a97202d7.tar.gz
yuzu-0d449b77e29cce33480f26ce235a8ce0a97202d7.tar.xz
yuzu-0d449b77e29cce33480f26ce235a8ce0a97202d7.zip
Merge pull request #1598 from DeeJayBro/delete-directory
service/filesystem: Implemented DeleteDirectory & DeleteDirectoryRecursive
Diffstat (limited to 'src')
-rw-r--r--src/core/hle/service/filesystem/fsp_srv.cpp28
1 files changed, 26 insertions, 2 deletions
diff --git a/src/core/hle/service/filesystem/fsp_srv.cpp b/src/core/hle/service/filesystem/fsp_srv.cpp
index c87721c39..c1c83a11d 100644
--- a/src/core/hle/service/filesystem/fsp_srv.cpp
+++ b/src/core/hle/service/filesystem/fsp_srv.cpp
@@ -273,8 +273,8 @@ public:
273 {0, &IFileSystem::CreateFile, "CreateFile"}, 273 {0, &IFileSystem::CreateFile, "CreateFile"},
274 {1, &IFileSystem::DeleteFile, "DeleteFile"}, 274 {1, &IFileSystem::DeleteFile, "DeleteFile"},
275 {2, &IFileSystem::CreateDirectory, "CreateDirectory"}, 275 {2, &IFileSystem::CreateDirectory, "CreateDirectory"},
276 {3, nullptr, "DeleteDirectory"}, 276 {3, &IFileSystem::DeleteDirectory, "DeleteDirectory"},
277 {4, nullptr, "DeleteDirectoryRecursively"}, 277 {4, &IFileSystem::DeleteDirectoryRecursively, "DeleteDirectoryRecursively"},
278 {5, &IFileSystem::RenameFile, "RenameFile"}, 278 {5, &IFileSystem::RenameFile, "RenameFile"},
279 {6, nullptr, "RenameDirectory"}, 279 {6, nullptr, "RenameDirectory"},
280 {7, &IFileSystem::GetEntryType, "GetEntryType"}, 280 {7, &IFileSystem::GetEntryType, "GetEntryType"},
@@ -329,6 +329,30 @@ public:
329 rb.Push(backend.CreateDirectory(name)); 329 rb.Push(backend.CreateDirectory(name));
330 } 330 }
331 331
332 void DeleteDirectory(Kernel::HLERequestContext& ctx) {
333 const IPC::RequestParser rp{ctx};
334
335 const auto file_buffer = ctx.ReadBuffer();
336 std::string name = Common::StringFromBuffer(file_buffer);
337
338 LOG_DEBUG(Service_FS, "called directory {}", name);
339
340 IPC::ResponseBuilder rb{ctx, 2};
341 rb.Push(backend.DeleteDirectory(name));
342 }
343
344 void DeleteDirectoryRecursively(Kernel::HLERequestContext& ctx) {
345 const IPC::RequestParser rp{ctx};
346
347 const auto file_buffer = ctx.ReadBuffer();
348 std::string name = Common::StringFromBuffer(file_buffer);
349
350 LOG_DEBUG(Service_FS, "called directory {}", name);
351
352 IPC::ResponseBuilder rb{ctx, 2};
353 rb.Push(backend.DeleteDirectoryRecursively(name));
354 }
355
332 void RenameFile(Kernel::HLERequestContext& ctx) { 356 void RenameFile(Kernel::HLERequestContext& ctx) {
333 IPC::RequestParser rp{ctx}; 357 IPC::RequestParser rp{ctx};
334 358