Merge pull request #4736 from FearlessTobi/port-2356
Port yuzu-emu/yuzu#2356: "kernel/{server_port, server_session}: Return pairs instead of tuples from pair creation functions"
This commit is contained in:
commit
7ea82e7941
8 changed files with 32 additions and 40 deletions
|
@ -197,8 +197,7 @@ void File::OpenLinkFile(Kernel::HLERequestContext& ctx) {
|
|||
using Kernel::ServerSession;
|
||||
IPC::RequestParser rp(ctx, 0x080C, 0, 0);
|
||||
IPC::RequestBuilder rb = rp.MakeBuilder(1, 2);
|
||||
auto sessions = system.Kernel().CreateSessionPair(GetName());
|
||||
auto server = std::get<std::shared_ptr<ServerSession>>(sessions);
|
||||
auto [server, client] = system.Kernel().CreateSessionPair(GetName());
|
||||
ClientConnected(server);
|
||||
|
||||
FileSessionSlot* slot = GetSessionData(server);
|
||||
|
@ -210,7 +209,7 @@ void File::OpenLinkFile(Kernel::HLERequestContext& ctx) {
|
|||
slot->subfile = false;
|
||||
|
||||
rb.Push(RESULT_SUCCESS);
|
||||
rb.PushMoveObjects(std::get<std::shared_ptr<ClientSession>>(sessions));
|
||||
rb.PushMoveObjects(client);
|
||||
}
|
||||
|
||||
void File::OpenSubFile(Kernel::HLERequestContext& ctx) {
|
||||
|
@ -244,8 +243,7 @@ void File::OpenSubFile(Kernel::HLERequestContext& ctx) {
|
|||
|
||||
using Kernel::ClientSession;
|
||||
using Kernel::ServerSession;
|
||||
auto sessions = system.Kernel().CreateSessionPair(GetName());
|
||||
auto server = std::get<std::shared_ptr<ServerSession>>(sessions);
|
||||
auto [server, client] = system.Kernel().CreateSessionPair(GetName());
|
||||
ClientConnected(server);
|
||||
|
||||
FileSessionSlot* slot = GetSessionData(server);
|
||||
|
@ -255,12 +253,11 @@ void File::OpenSubFile(Kernel::HLERequestContext& ctx) {
|
|||
slot->subfile = true;
|
||||
|
||||
rb.Push(RESULT_SUCCESS);
|
||||
rb.PushMoveObjects(std::get<std::shared_ptr<ClientSession>>(sessions));
|
||||
rb.PushMoveObjects(client);
|
||||
}
|
||||
|
||||
std::shared_ptr<Kernel::ClientSession> File::Connect() {
|
||||
auto sessions = system.Kernel().CreateSessionPair(GetName());
|
||||
auto server = std::get<std::shared_ptr<Kernel::ServerSession>>(sessions);
|
||||
auto [server, client] = system.Kernel().CreateSessionPair(GetName());
|
||||
ClientConnected(server);
|
||||
|
||||
FileSessionSlot* slot = GetSessionData(server);
|
||||
|
@ -269,7 +266,7 @@ std::shared_ptr<Kernel::ClientSession> File::Connect() {
|
|||
slot->size = backend->GetSize();
|
||||
slot->subfile = false;
|
||||
|
||||
return std::get<std::shared_ptr<Kernel::ClientSession>>(sessions);
|
||||
return client;
|
||||
}
|
||||
|
||||
std::size_t File::GetSessionFileOffset(std::shared_ptr<Kernel::ServerSession> session) {
|
||||
|
|
|
@ -306,9 +306,9 @@ void FS_USER::OpenDirectory(Kernel::HLERequestContext& ctx) {
|
|||
rb.Push(dir_res.Code());
|
||||
if (dir_res.Succeeded()) {
|
||||
std::shared_ptr<Directory> directory = *dir_res;
|
||||
auto sessions = system.Kernel().CreateSessionPair(directory->GetName());
|
||||
directory->ClientConnected(std::get<std::shared_ptr<ServerSession>>(sessions));
|
||||
rb.PushMoveObjects(std::get<std::shared_ptr<ClientSession>>(sessions));
|
||||
auto [server, client] = system.Kernel().CreateSessionPair(directory->GetName());
|
||||
directory->ClientConnected(server);
|
||||
rb.PushMoveObjects(client);
|
||||
} else {
|
||||
LOG_ERROR(Service_FS, "failed to get a handle for directory type={} size={} data={}",
|
||||
static_cast<u32>(dirname_type), dirname_size, dir_path.DebugStr());
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue