Browse Source

Kernel: Add methods in HLERequestContext abstracting handle creation

nce_cpp
Yuri Kunde Schlesner 9 years ago
parent
commit
ccba9e903f
  1. 9
      src/core/hle/kernel/hle_ipc.cpp
  2. 3
      src/core/hle/kernel/hle_ipc.h

9
src/core/hle/kernel/hle_ipc.cpp

@ -5,6 +5,7 @@
#include <boost/range/algorithm_ext/erase.hpp>
#include "common/assert.h"
#include "common/common_types.h"
#include "core/hle/kernel/handle_table.h"
#include "core/hle/kernel/hle_ipc.h"
#include "core/hle/kernel/kernel.h"
#include "core/hle/kernel/server_session.h"
@ -23,4 +24,12 @@ void SessionRequestHandler::ClientDisconnected(SharedPtr<ServerSession> server_s
HLERequestContext::~HLERequestContext() = default;
SharedPtr<Object> HLERequestContext::GetIncomingHandle(Handle id_from_cmdbuf) const {
return Kernel::g_handle_table.GetGeneric(id_from_cmdbuf);
}
Handle HLERequestContext::AddOutgoingHandle(SharedPtr<Object> object) {
return Kernel::g_handle_table.Create(object).Unwrap();
}
} // namespace Kernel

3
src/core/hle/kernel/hle_ipc.h

@ -80,6 +80,9 @@ public:
return session;
}
SharedPtr<Object> GetIncomingHandle(Handle id_from_cmdbuf) const;
Handle AddOutgoingHandle(SharedPtr<Object> object);
private:
friend class Service::ServiceFrameworkBase;

Loading…
Cancel
Save