diff options
author | Liam <byteslice@airmail.cc> | 2024-02-12 02:28:51 +0100 |
---|---|---|
committer | Liam <byteslice@airmail.cc> | 2024-02-12 15:17:25 +0100 |
commit | 2e614ce08f56f4c49d8070e69ecdb44e2cb9f1c1 (patch) | |
tree | 8ac4d5e8dae2f976b7bcfb5c9fe866024b2d7ae2 /src/core/hle/service/am/storage_accessor.cpp | |
parent | am: rewrite ISelfController (diff) | |
download | yuzu-2e614ce08f56f4c49d8070e69ecdb44e2cb9f1c1.tar yuzu-2e614ce08f56f4c49d8070e69ecdb44e2cb9f1c1.tar.gz yuzu-2e614ce08f56f4c49d8070e69ecdb44e2cb9f1c1.tar.bz2 yuzu-2e614ce08f56f4c49d8070e69ecdb44e2cb9f1c1.tar.lz yuzu-2e614ce08f56f4c49d8070e69ecdb44e2cb9f1c1.tar.xz yuzu-2e614ce08f56f4c49d8070e69ecdb44e2cb9f1c1.tar.zst yuzu-2e614ce08f56f4c49d8070e69ecdb44e2cb9f1c1.zip |
Diffstat (limited to '')
-rw-r--r-- | src/core/hle/service/am/storage_accessor.cpp | 90 |
1 files changed, 0 insertions, 90 deletions
diff --git a/src/core/hle/service/am/storage_accessor.cpp b/src/core/hle/service/am/storage_accessor.cpp deleted file mode 100644 index a1184b065..000000000 --- a/src/core/hle/service/am/storage_accessor.cpp +++ /dev/null @@ -1,90 +0,0 @@ -// SPDX-FileCopyrightText: Copyright 2024 yuzu Emulator Project -// SPDX-License-Identifier: GPL-2.0-or-later - -#include "core/hle/kernel/k_transfer_memory.h" -#include "core/hle/service/am/am_results.h" -#include "core/hle/service/am/library_applet_storage.h" -#include "core/hle/service/am/storage_accessor.h" -#include "core/hle/service/ipc_helpers.h" - -namespace Service::AM { - -IStorageAccessor::IStorageAccessor(Core::System& system_, - std::shared_ptr<LibraryAppletStorage> impl_) - : ServiceFramework{system_, "IStorageAccessor"}, impl{std::move(impl_)} { - static const FunctionInfo functions[] = { - {0, &IStorageAccessor::GetSize, "GetSize"}, - {10, &IStorageAccessor::Write, "Write"}, - {11, &IStorageAccessor::Read, "Read"}, - }; - - RegisterHandlers(functions); -} - -IStorageAccessor::~IStorageAccessor() = default; - -void IStorageAccessor::GetSize(HLERequestContext& ctx) { - LOG_DEBUG(Service_AM, "called"); - - IPC::ResponseBuilder rb{ctx, 4}; - - rb.Push(ResultSuccess); - rb.Push(impl->GetSize()); -} - -void IStorageAccessor::Write(HLERequestContext& ctx) { - IPC::RequestParser rp{ctx}; - - const s64 offset{rp.Pop<s64>()}; - const auto data{ctx.ReadBuffer()}; - LOG_DEBUG(Service_AM, "called, offset={}, size={}", offset, data.size()); - - const auto res{impl->Write(offset, data.data(), data.size())}; - - IPC::ResponseBuilder rb{ctx, 2}; - rb.Push(res); -} - -void IStorageAccessor::Read(HLERequestContext& ctx) { - IPC::RequestParser rp{ctx}; - - const s64 offset{rp.Pop<s64>()}; - std::vector<u8> data(ctx.GetWriteBufferSize()); - - LOG_DEBUG(Service_AM, "called, offset={}, size={}", offset, data.size()); - - const auto res{impl->Read(offset, data.data(), data.size())}; - - ctx.WriteBuffer(data); - - IPC::ResponseBuilder rb{ctx, 2}; - rb.Push(res); -} - -ITransferStorageAccessor::ITransferStorageAccessor(Core::System& system_, - std::shared_ptr<LibraryAppletStorage> impl_) - : ServiceFramework{system_, "ITransferStorageAccessor"}, impl{std::move(impl_)} { - static const FunctionInfo functions[] = { - {0, &ITransferStorageAccessor::GetSize, "GetSize"}, - {1, &ITransferStorageAccessor::GetHandle, "GetHandle"}, - }; - - RegisterHandlers(functions); -} - -ITransferStorageAccessor::~ITransferStorageAccessor() = default; - -void ITransferStorageAccessor::GetSize(HLERequestContext& ctx) { - IPC::ResponseBuilder rb{ctx, 4}; - rb.Push(ResultSuccess); - rb.Push(impl->GetSize()); -} - -void ITransferStorageAccessor::GetHandle(HLERequestContext& ctx) { - IPC::ResponseBuilder rb{ctx, 4, 1}; - rb.Push(ResultSuccess); - rb.Push(impl->GetSize()); - rb.PushCopyObjects(impl->GetHandle()); -} - -} // namespace Service::AM |