summaryrefslogtreecommitdiffstats
path: root/src/core/hle/kernel/hle_ipc.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/hle/kernel/hle_ipc.h')
-rw-r--r--src/core/hle/kernel/hle_ipc.h38
1 files changed, 20 insertions, 18 deletions
diff --git a/src/core/hle/kernel/hle_ipc.h b/src/core/hle/kernel/hle_ipc.h
index ccf5e56aa..dab37ba0d 100644
--- a/src/core/hle/kernel/hle_ipc.h
+++ b/src/core/hle/kernel/hle_ipc.h
@@ -5,6 +5,7 @@
#pragma once
#include <array>
+#include <functional>
#include <memory>
#include <optional>
#include <string>
@@ -60,20 +61,20 @@ public:
* associated ServerSession alive for the duration of the connection.
* @param server_session Owning pointer to the ServerSession associated with the connection.
*/
- void ClientConnected(SharedPtr<ServerSession> server_session);
+ void ClientConnected(std::shared_ptr<ServerSession> server_session);
/**
* Signals that a client has just disconnected from this HLE handler and releases the
* associated ServerSession.
* @param server_session ServerSession associated with the connection.
*/
- void ClientDisconnected(const SharedPtr<ServerSession>& server_session);
+ void ClientDisconnected(const std::shared_ptr<ServerSession>& server_session);
protected:
/// List of sessions that are connected to this handler.
/// A ServerSession whose server endpoint is an HLE implementation is kept alive by this list
/// for the duration of the connection.
- std::vector<SharedPtr<ServerSession>> connected_sessions;
+ std::vector<std::shared_ptr<ServerSession>> connected_sessions;
};
/**
@@ -97,7 +98,8 @@ protected:
*/
class HLERequestContext {
public:
- explicit HLERequestContext(SharedPtr<ServerSession> session, SharedPtr<Thread> thread);
+ explicit HLERequestContext(std::shared_ptr<ServerSession> session,
+ std::shared_ptr<Thread> thread);
~HLERequestContext();
/// Returns a pointer to the IPC command buffer for this request.
@@ -109,12 +111,12 @@ public:
* Returns the session through which this request was made. This can be used as a map key to
* access per-client data on services.
*/
- const SharedPtr<Kernel::ServerSession>& Session() const {
+ const std::shared_ptr<Kernel::ServerSession>& Session() const {
return server_session;
}
- using WakeupCallback = std::function<void(SharedPtr<Thread> thread, HLERequestContext& context,
- ThreadWakeupReason reason)>;
+ using WakeupCallback = std::function<void(
+ std::shared_ptr<Thread> thread, HLERequestContext& context, ThreadWakeupReason reason)>;
/**
* Puts the specified guest thread to sleep until the returned event is signaled or until the
@@ -129,9 +131,9 @@ public:
* created.
* @returns Event that when signaled will resume the thread and call the callback function.
*/
- SharedPtr<WritableEvent> SleepClientThread(const std::string& reason, u64 timeout,
- WakeupCallback&& callback,
- SharedPtr<WritableEvent> writable_event = nullptr);
+ std::shared_ptr<WritableEvent> SleepClientThread(
+ const std::string& reason, u64 timeout, WakeupCallback&& callback,
+ std::shared_ptr<WritableEvent> writable_event = nullptr);
/// Populates this context with data from the requesting process/thread.
ResultCode PopulateFromIncomingCommandBuffer(const HandleTable& handle_table,
@@ -209,20 +211,20 @@ public:
std::size_t GetWriteBufferSize(int buffer_index = 0) const;
template <typename T>
- SharedPtr<T> GetCopyObject(std::size_t index) {
+ std::shared_ptr<T> GetCopyObject(std::size_t index) {
return DynamicObjectCast<T>(copy_objects.at(index));
}
template <typename T>
- SharedPtr<T> GetMoveObject(std::size_t index) {
+ std::shared_ptr<T> GetMoveObject(std::size_t index) {
return DynamicObjectCast<T>(move_objects.at(index));
}
- void AddMoveObject(SharedPtr<Object> object) {
+ void AddMoveObject(std::shared_ptr<Object> object) {
move_objects.emplace_back(std::move(object));
}
- void AddCopyObject(SharedPtr<Object> object) {
+ void AddCopyObject(std::shared_ptr<Object> object) {
copy_objects.emplace_back(std::move(object));
}
@@ -266,11 +268,11 @@ private:
void ParseCommandBuffer(const HandleTable& handle_table, u32_le* src_cmdbuf, bool incoming);
std::array<u32, IPC::COMMAND_BUFFER_LENGTH> cmd_buf;
- SharedPtr<Kernel::ServerSession> server_session;
- SharedPtr<Thread> thread;
+ std::shared_ptr<Kernel::ServerSession> server_session;
+ std::shared_ptr<Thread> thread;
// TODO(yuriks): Check common usage of this and optimize size accordingly
- boost::container::small_vector<SharedPtr<Object>, 8> move_objects;
- boost::container::small_vector<SharedPtr<Object>, 8> copy_objects;
+ boost::container::small_vector<std::shared_ptr<Object>, 8> move_objects;
+ boost::container::small_vector<std::shared_ptr<Object>, 8> copy_objects;
boost::container::small_vector<std::shared_ptr<SessionRequestHandler>, 8> domain_objects;
std::optional<IPC::CommandHeader> command_header;