olsc: rewrite ITransferTaskListController

This commit is contained in:
Liam 2024-02-21 18:36:17 -05:00
parent 8689370830
commit 6b956a6951
2 changed files with 38 additions and 36 deletions

View file

@ -1,7 +1,7 @@
// SPDX-FileCopyrightText: Copyright 2024 yuzu Emulator Project // SPDX-FileCopyrightText: Copyright 2024 yuzu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later // SPDX-License-Identifier: GPL-2.0-or-later
#include "core/hle/service/ipc_helpers.h" #include "core/hle/service/cmif_serialization.h"
#include "core/hle/service/olsc/native_handle_holder.h" #include "core/hle/service/olsc/native_handle_holder.h"
#include "core/hle/service/olsc/transfer_task_list_controller.h" #include "core/hle/service/olsc/transfer_task_list_controller.h"
@ -16,11 +16,11 @@ ITransferTaskListController::ITransferTaskListController(Core::System& system_)
{2, nullptr, "Unknown2"}, {2, nullptr, "Unknown2"},
{3, nullptr, "Unknown3"}, {3, nullptr, "Unknown3"},
{4, nullptr, "Unknown4"}, {4, nullptr, "Unknown4"},
{5, &ITransferTaskListController::GetNativeHandleHolder , "GetNativeHandleHolder"}, {5, D<&ITransferTaskListController::GetNativeHandleHolder>, "GetNativeHandleHolder"},
{6, nullptr, "Unknown6"}, {6, nullptr, "Unknown6"},
{7, nullptr, "Unknown7"}, {7, nullptr, "Unknown7"},
{8, nullptr, "GetRemoteStorageController"}, {8, nullptr, "GetRemoteStorageController"},
{9, &ITransferTaskListController::GetNativeHandleHolder, "GetNativeHandleHolder2"}, {9, D<&ITransferTaskListController::GetNativeHandleHolder>, "GetNativeHandleHolder2"},
{10, nullptr, "Unknown10"}, {10, nullptr, "Unknown10"},
{11, nullptr, "Unknown11"}, {11, nullptr, "Unknown11"},
{12, nullptr, "Unknown12"}, {12, nullptr, "Unknown12"},
@ -45,12 +45,11 @@ ITransferTaskListController::ITransferTaskListController(Core::System& system_)
ITransferTaskListController::~ITransferTaskListController() = default; ITransferTaskListController::~ITransferTaskListController() = default;
void ITransferTaskListController::GetNativeHandleHolder(HLERequestContext& ctx) { Result ITransferTaskListController::GetNativeHandleHolder(
LOG_INFO(Service_OLSC, "called"); Out<SharedPointer<INativeHandleHolder>> out_holder) {
LOG_WARNING(Service_OLSC, "(STUBBED) called");
IPC::ResponseBuilder rb{ctx, 2, 0, 1}; *out_holder = std::make_shared<INativeHandleHolder>(system);
rb.Push(ResultSuccess); R_SUCCEED();
rb.PushIpcInterface<INativeHandleHolder>(system);
} }
} // namespace Service::OLSC } // namespace Service::OLSC

View file

@ -1,17 +1,20 @@
// SPDX-FileCopyrightText: Copyright 2024 yuzu Emulator Project // SPDX-FileCopyrightText: Copyright 2024 yuzu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later // SPDX-License-Identifier: GPL-2.0-or-later
#include "core/hle/service/cmif_types.h"
#include "core/hle/service/service.h" #include "core/hle/service/service.h"
namespace Service::OLSC { namespace Service::OLSC {
class INativeHandleHolder;
class ITransferTaskListController final : public ServiceFramework<ITransferTaskListController> { class ITransferTaskListController final : public ServiceFramework<ITransferTaskListController> {
public: public:
explicit ITransferTaskListController(Core::System& system_); explicit ITransferTaskListController(Core::System& system_);
~ITransferTaskListController() override; ~ITransferTaskListController() override;
private: private:
void GetNativeHandleHolder(HLERequestContext& ctx); Result GetNativeHandleHolder(Out<SharedPointer<INativeHandleHolder>> out_holder);
}; };
} // namespace Service::OLSC } // namespace Service::OLSC