mii: Implement IDatabaseService SetInterfaceVersion

Appears to set a member variable used to affect the API that games access, and the method used to store data.
This commit is contained in:
Zach Hilman 2019-07-06 21:39:04 -04:00
parent bb4a1e059c
commit a4ef86a021

View File

@ -48,7 +48,7 @@ public:
{19, nullptr, "Export"}, {19, nullptr, "Export"},
{20, nullptr, "IsBrokenDatabaseWithClearFlag"}, {20, nullptr, "IsBrokenDatabaseWithClearFlag"},
{21, &IDatabaseService::GetIndex, "GetIndex"}, {21, &IDatabaseService::GetIndex, "GetIndex"},
{22, nullptr, "SetInterfaceVersion"}, {22, &IDatabaseService::SetInterfaceVersion, "SetInterfaceVersion"},
{23, nullptr, "Convert"}, {23, nullptr, "Convert"},
}; };
// clang-format on // clang-format on
@ -350,8 +350,22 @@ private:
rb.Push(index); rb.Push(index);
} }
void SetInterfaceVersion(Kernel::HLERequestContext& ctx) {
IPC::RequestParser rp{ctx};
current_interface_version = rp.PopRaw<u32>();
LOG_DEBUG(Service_Mii, "called, interface_version={:08X}", current_interface_version);
UNIMPLEMENTED_IF(current_interface_version != 1);
IPC::ResponseBuilder rb{ctx, 2};
rb.Push(RESULT_SUCCESS);
}
MiiManager db; MiiManager db;
u32 current_interface_version = 0;
// Last read offsets of Get functions // Last read offsets of Get functions
std::array<u32, 4> offsets{}; std::array<u32, 4> offsets{};
}; };