summaryrefslogtreecommitdiff
path: root/src/core/hle/service
diff options
context:
space:
mode:
authorGravatar Liam2024-02-21 18:36:17 -0500
committerGravatar Liam2024-02-21 18:36:17 -0500
commit6b956a695196d73c38fd717c516f3ae27e0f2387 (patch)
tree4f4dc87038bb582b1f1410f3791677cc7e9af159 /src/core/hle/service
parentolsc: rewrite INativeHandleHolder (diff)
downloadyuzu-6b956a695196d73c38fd717c516f3ae27e0f2387.tar.gz
yuzu-6b956a695196d73c38fd717c516f3ae27e0f2387.tar.xz
yuzu-6b956a695196d73c38fd717c516f3ae27e0f2387.zip
olsc: rewrite ITransferTaskListController
Diffstat (limited to 'src/core/hle/service')
-rw-r--r--src/core/hle/service/olsc/transfer_task_list_controller.cpp69
-rw-r--r--src/core/hle/service/olsc/transfer_task_list_controller.h5
2 files changed, 38 insertions, 36 deletions
diff --git a/src/core/hle/service/olsc/transfer_task_list_controller.cpp b/src/core/hle/service/olsc/transfer_task_list_controller.cpp
index 9aa941309..8ea9a0f1e 100644
--- a/src/core/hle/service/olsc/transfer_task_list_controller.cpp
+++ b/src/core/hle/service/olsc/transfer_task_list_controller.cpp
@@ -1,7 +1,7 @@
1// SPDX-FileCopyrightText: Copyright 2024 yuzu Emulator Project 1// SPDX-FileCopyrightText: Copyright 2024 yuzu Emulator Project
2// SPDX-License-Identifier: GPL-2.0-or-later 2// SPDX-License-Identifier: GPL-2.0-or-later
3 3
4#include "core/hle/service/ipc_helpers.h" 4#include "core/hle/service/cmif_serialization.h"
5#include "core/hle/service/olsc/native_handle_holder.h" 5#include "core/hle/service/olsc/native_handle_holder.h"
6#include "core/hle/service/olsc/transfer_task_list_controller.h" 6#include "core/hle/service/olsc/transfer_task_list_controller.h"
7 7
@@ -10,34 +10,34 @@ namespace Service::OLSC {
10ITransferTaskListController::ITransferTaskListController(Core::System& system_) 10ITransferTaskListController::ITransferTaskListController(Core::System& system_)
11 : ServiceFramework{system_, "ITransferTaskListController"} { 11 : ServiceFramework{system_, "ITransferTaskListController"} {
12 // clang-format off 12 // clang-format off
13 static const FunctionInfo functions[] = { 13 static const FunctionInfo functions[] = {
14 {0, nullptr, "Unknown0"}, 14 {0, nullptr, "Unknown0"},
15 {1, nullptr, "Unknown1"}, 15 {1, nullptr, "Unknown1"},
16 {2, nullptr, "Unknown2"}, 16 {2, nullptr, "Unknown2"},
17 {3, nullptr, "Unknown3"}, 17 {3, nullptr, "Unknown3"},
18 {4, nullptr, "Unknown4"}, 18 {4, nullptr, "Unknown4"},
19 {5, &ITransferTaskListController::GetNativeHandleHolder , "GetNativeHandleHolder"}, 19 {5, D<&ITransferTaskListController::GetNativeHandleHolder>, "GetNativeHandleHolder"},
20 {6, nullptr, "Unknown6"}, 20 {6, nullptr, "Unknown6"},
21 {7, nullptr, "Unknown7"}, 21 {7, nullptr, "Unknown7"},
22 {8, nullptr, "GetRemoteStorageController"}, 22 {8, nullptr, "GetRemoteStorageController"},
23 {9, &ITransferTaskListController::GetNativeHandleHolder, "GetNativeHandleHolder2"}, 23 {9, D<&ITransferTaskListController::GetNativeHandleHolder>, "GetNativeHandleHolder2"},
24 {10, nullptr, "Unknown10"}, 24 {10, nullptr, "Unknown10"},
25 {11, nullptr, "Unknown11"}, 25 {11, nullptr, "Unknown11"},
26 {12, nullptr, "Unknown12"}, 26 {12, nullptr, "Unknown12"},
27 {13, nullptr, "Unknown13"}, 27 {13, nullptr, "Unknown13"},
28 {14, nullptr, "Unknown14"}, 28 {14, nullptr, "Unknown14"},
29 {15, nullptr, "Unknown15"}, 29 {15, nullptr, "Unknown15"},
30 {16, nullptr, "Unknown16"}, 30 {16, nullptr, "Unknown16"},
31 {17, nullptr, "Unknown17"}, 31 {17, nullptr, "Unknown17"},
32 {18, nullptr, "Unknown18"}, 32 {18, nullptr, "Unknown18"},
33 {19, nullptr, "Unknown19"}, 33 {19, nullptr, "Unknown19"},
34 {20, nullptr, "Unknown20"}, 34 {20, nullptr, "Unknown20"},
35 {21, nullptr, "Unknown21"}, 35 {21, nullptr, "Unknown21"},
36 {22, nullptr, "Unknown22"}, 36 {22, nullptr, "Unknown22"},
37 {23, nullptr, "Unknown23"}, 37 {23, nullptr, "Unknown23"},
38 {24, nullptr, "Unknown24"}, 38 {24, nullptr, "Unknown24"},
39 {25, nullptr, "Unknown25"}, 39 {25, nullptr, "Unknown25"},
40 }; 40 };
41 // clang-format on 41 // clang-format on
42 42
43 RegisterHandlers(functions); 43 RegisterHandlers(functions);
@@ -45,12 +45,11 @@ ITransferTaskListController::ITransferTaskListController(Core::System& system_)
45 45
46ITransferTaskListController::~ITransferTaskListController() = default; 46ITransferTaskListController::~ITransferTaskListController() = default;
47 47
48void ITransferTaskListController::GetNativeHandleHolder(HLERequestContext& ctx) { 48Result ITransferTaskListController::GetNativeHandleHolder(
49 LOG_INFO(Service_OLSC, "called"); 49 Out<SharedPointer<INativeHandleHolder>> out_holder) {
50 50 LOG_WARNING(Service_OLSC, "(STUBBED) called");
51 IPC::ResponseBuilder rb{ctx, 2, 0, 1}; 51 *out_holder = std::make_shared<INativeHandleHolder>(system);
52 rb.Push(ResultSuccess); 52 R_SUCCEED();
53 rb.PushIpcInterface<INativeHandleHolder>(system);
54} 53}
55 54
56} // namespace Service::OLSC 55} // namespace Service::OLSC
diff --git a/src/core/hle/service/olsc/transfer_task_list_controller.h b/src/core/hle/service/olsc/transfer_task_list_controller.h
index daf476d8a..f10a71375 100644
--- a/src/core/hle/service/olsc/transfer_task_list_controller.h
+++ b/src/core/hle/service/olsc/transfer_task_list_controller.h
@@ -1,17 +1,20 @@
1// SPDX-FileCopyrightText: Copyright 2024 yuzu Emulator Project 1// SPDX-FileCopyrightText: Copyright 2024 yuzu Emulator Project
2// SPDX-License-Identifier: GPL-2.0-or-later 2// SPDX-License-Identifier: GPL-2.0-or-later
3 3
4#include "core/hle/service/cmif_types.h"
4#include "core/hle/service/service.h" 5#include "core/hle/service/service.h"
5 6
6namespace Service::OLSC { 7namespace Service::OLSC {
7 8
9class INativeHandleHolder;
10
8class ITransferTaskListController final : public ServiceFramework<ITransferTaskListController> { 11class ITransferTaskListController final : public ServiceFramework<ITransferTaskListController> {
9public: 12public:
10 explicit ITransferTaskListController(Core::System& system_); 13 explicit ITransferTaskListController(Core::System& system_);
11 ~ITransferTaskListController() override; 14 ~ITransferTaskListController() override;
12 15
13private: 16private:
14 void GetNativeHandleHolder(HLERequestContext& ctx); 17 Result GetNativeHandleHolder(Out<SharedPointer<INativeHandleHolder>> out_holder);
15}; 18};
16 19
17} // namespace Service::OLSC 20} // namespace Service::OLSC