diff options
| author | bunnei <bunneidev@gmail.com> | 2018-10-28 02:29:52 -0400 | 
|---|---|---|
| committer | GitHub <noreply@github.com> | 2018-10-28 02:29:52 -0400 | 
| commit | 0d449b77e29cce33480f26ce235a8ce0a97202d7 (patch) | |
| tree | d91b1cf552a67ddaa1d4a1e8075420ca07e0d973 /src/core/hle | |
| parent | 6f620b244149969560fb78b880e35e9af6fc97ad (diff) | |
| parent | 3b1e4c099548d0b6fcfa83cd2f1c5dc24346c761 (diff) | |
Merge pull request #1598 from DeeJayBro/delete-directory
service/filesystem: Implemented DeleteDirectory & DeleteDirectoryRecursive
Diffstat (limited to 'src/core/hle')
| -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:              {0, &IFileSystem::CreateFile, "CreateFile"},              {1, &IFileSystem::DeleteFile, "DeleteFile"},              {2, &IFileSystem::CreateDirectory, "CreateDirectory"}, -            {3, nullptr, "DeleteDirectory"}, -            {4, nullptr, "DeleteDirectoryRecursively"}, +            {3, &IFileSystem::DeleteDirectory, "DeleteDirectory"}, +            {4, &IFileSystem::DeleteDirectoryRecursively, "DeleteDirectoryRecursively"},              {5, &IFileSystem::RenameFile, "RenameFile"},              {6, nullptr, "RenameDirectory"},              {7, &IFileSystem::GetEntryType, "GetEntryType"}, @@ -329,6 +329,30 @@ public:          rb.Push(backend.CreateDirectory(name));      } +    void DeleteDirectory(Kernel::HLERequestContext& ctx) { +        const IPC::RequestParser rp{ctx}; + +        const auto file_buffer = ctx.ReadBuffer(); +        std::string name = Common::StringFromBuffer(file_buffer); + +        LOG_DEBUG(Service_FS, "called directory {}", name); + +        IPC::ResponseBuilder rb{ctx, 2}; +        rb.Push(backend.DeleteDirectory(name)); +    } + +    void DeleteDirectoryRecursively(Kernel::HLERequestContext& ctx) { +        const IPC::RequestParser rp{ctx}; + +        const auto file_buffer = ctx.ReadBuffer(); +        std::string name = Common::StringFromBuffer(file_buffer); + +        LOG_DEBUG(Service_FS, "called directory {}", name); + +        IPC::ResponseBuilder rb{ctx, 2}; +        rb.Push(backend.DeleteDirectoryRecursively(name)); +    } +      void RenameFile(Kernel::HLERequestContext& ctx) {          IPC::RequestParser rp{ctx}; | 
