diff options
| author | 2018-10-28 02:29:52 -0400 | |
|---|---|---|
| committer | 2018-10-28 02:29:52 -0400 | |
| commit | 0d449b77e29cce33480f26ce235a8ce0a97202d7 (patch) | |
| tree | d91b1cf552a67ddaa1d4a1e8075420ca07e0d973 /src/core | |
| parent | Merge pull request #1600 from DarkLordZach/nsp-secondary-loader-fix (diff) | |
| parent | service/filesystem: Add DirectoryDelete & DirectoryDeleteRecursively (diff) | |
| download | yuzu-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/core')
| -rw-r--r-- | src/core/hle/service/filesystem/fsp_srv.cpp | 28 |
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 | ||