Просмотр исходного кода

fsp_srv: Implement IFile::Flush.

bunnei 8 лет назад
Родитель
Сommit
9cab6809f2
1 измененных файлов с 9 добавлено и 1 удалено
  1. 9 1
      src/core/hle/service/filesystem/fsp_srv.cpp

+ 9 - 1
src/core/hle/service/filesystem/fsp_srv.cpp

@@ -73,7 +73,7 @@ public:
         : ServiceFramework("IFile"), backend(std::move(backend)) {
         : ServiceFramework("IFile"), backend(std::move(backend)) {
         static const FunctionInfo functions[] = {
         static const FunctionInfo functions[] = {
             {0, &IFile::Read, "Read"},       {1, &IFile::Write, "Write"},
             {0, &IFile::Read, "Read"},       {1, &IFile::Write, "Write"},
-            {2, nullptr, "Flush"},           {3, &IFile::SetSize, "SetSize"},
+            {2, &IFile::Flush, "Flush"},     {3, &IFile::SetSize, "SetSize"},
             {4, &IFile::GetSize, "GetSize"}, {5, nullptr, "OperateRange"},
             {4, &IFile::GetSize, "GetSize"}, {5, nullptr, "OperateRange"},
         };
         };
         RegisterHandlers(functions);
         RegisterHandlers(functions);
@@ -152,6 +152,14 @@ private:
         rb.Push(RESULT_SUCCESS);
         rb.Push(RESULT_SUCCESS);
     }
     }
 
 
+    void Flush(Kernel::HLERequestContext& ctx) {
+        LOG_DEBUG(Service_FS, "called");
+        backend->Flush();
+
+        IPC::ResponseBuilder rb{ctx, 2};
+        rb.Push(RESULT_SUCCESS);
+    }
+
     void SetSize(Kernel::HLERequestContext& ctx) {
     void SetSize(Kernel::HLERequestContext& ctx) {
         IPC::RequestParser rp{ctx};
         IPC::RequestParser rp{ctx};
         const u64 size = rp.Pop<u64>();
         const u64 size = rp.Pop<u64>();