fsp_srv: Implement IFile::Flush.

This commit is contained in:
bunnei 2018-04-14 19:46:09 -04:00
parent c6ab2c94d9
commit 9cab6809f2

View File

@ -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>();