diff options
| -rw-r--r-- | src/core/CMakeLists.txt | 4 | ||||
| -rw-r--r-- | src/core/hle/service/am/service/application_creator.cpp (renamed from src/core/hle/service/am/application_creator.cpp) | 16 | ||||
| -rw-r--r-- | src/core/hle/service/am/service/application_creator.h (renamed from src/core/hle/service/am/application_creator.h) | 7 | ||||
| -rw-r--r-- | src/core/hle/service/am/service/system_applet_proxy.cpp | 7 |
4 files changed, 26 insertions, 8 deletions
diff --git a/src/core/CMakeLists.txt b/src/core/CMakeLists.txt index db27e0f3e..8fd99a5e9 100644 --- a/src/core/CMakeLists.txt +++ b/src/core/CMakeLists.txt | |||
| @@ -423,8 +423,6 @@ add_library(core STATIC | |||
| 423 | hle/service/am/applet_manager.h | 423 | hle/service/am/applet_manager.h |
| 424 | hle/service/am/applet_message_queue.cpp | 424 | hle/service/am/applet_message_queue.cpp |
| 425 | hle/service/am/applet_message_queue.h | 425 | hle/service/am/applet_message_queue.h |
| 426 | hle/service/am/application_creator.cpp | ||
| 427 | hle/service/am/application_creator.h | ||
| 428 | hle/service/am/hid_registration.cpp | 426 | hle/service/am/hid_registration.cpp |
| 429 | hle/service/am/hid_registration.h | 427 | hle/service/am/hid_registration.h |
| 430 | hle/service/am/idle.cpp | 428 | hle/service/am/idle.cpp |
| @@ -443,6 +441,8 @@ add_library(core STATIC | |||
| 443 | hle/service/am/service/applet_common_functions.h | 441 | hle/service/am/service/applet_common_functions.h |
| 444 | hle/service/am/service/application_accessor.cpp | 442 | hle/service/am/service/application_accessor.cpp |
| 445 | hle/service/am/service/application_accessor.h | 443 | hle/service/am/service/application_accessor.h |
| 444 | hle/service/am/service/application_creator.cpp | ||
| 445 | hle/service/am/service/application_creator.h | ||
| 446 | hle/service/am/service/application_functions.cpp | 446 | hle/service/am/service/application_functions.cpp |
| 447 | hle/service/am/service/application_functions.h | 447 | hle/service/am/service/application_functions.h |
| 448 | hle/service/am/service/application_proxy_service.cpp | 448 | hle/service/am/service/application_proxy_service.cpp |
diff --git a/src/core/hle/service/am/application_creator.cpp b/src/core/hle/service/am/service/application_creator.cpp index 79ea045a3..568bb0122 100644 --- a/src/core/hle/service/am/application_creator.cpp +++ b/src/core/hle/service/am/service/application_creator.cpp | |||
| @@ -1,8 +1,12 @@ | |||
| 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/am/application_creator.h" | 4 | #include "core/hle/service/am/am_types.h" |
| 5 | #include "core/hle/service/ipc_helpers.h" | 5 | #include "core/hle/service/am/applet.h" |
| 6 | #include "core/hle/service/am/applet_manager.h" | ||
| 7 | #include "core/hle/service/am/service/application_accessor.h" | ||
| 8 | #include "core/hle/service/am/service/application_creator.h" | ||
| 9 | #include "core/hle/service/cmif_serialization.h" | ||
| 6 | 10 | ||
| 7 | namespace Service::AM { | 11 | namespace Service::AM { |
| 8 | 12 | ||
| @@ -10,7 +14,7 @@ IApplicationCreator::IApplicationCreator(Core::System& system_) | |||
| 10 | : ServiceFramework{system_, "IApplicationCreator"} { | 14 | : ServiceFramework{system_, "IApplicationCreator"} { |
| 11 | // clang-format off | 15 | // clang-format off |
| 12 | static const FunctionInfo functions[] = { | 16 | static const FunctionInfo functions[] = { |
| 13 | {0, nullptr, "CreateApplication"}, | 17 | {0, D<&IApplicationCreator::CreateApplication>, "CreateApplication"}, |
| 14 | {1, nullptr, "PopLaunchRequestedApplication"}, | 18 | {1, nullptr, "PopLaunchRequestedApplication"}, |
| 15 | {10, nullptr, "CreateSystemApplication"}, | 19 | {10, nullptr, "CreateSystemApplication"}, |
| 16 | {100, nullptr, "PopFloatingApplicationForDevelopment"}, | 20 | {100, nullptr, "PopFloatingApplicationForDevelopment"}, |
| @@ -22,4 +26,10 @@ IApplicationCreator::IApplicationCreator(Core::System& system_) | |||
| 22 | 26 | ||
| 23 | IApplicationCreator::~IApplicationCreator() = default; | 27 | IApplicationCreator::~IApplicationCreator() = default; |
| 24 | 28 | ||
| 29 | Result IApplicationCreator::CreateApplication( | ||
| 30 | Out<SharedPointer<IApplicationAccessor>> out_application_accessor, u64 application_id) { | ||
| 31 | LOG_ERROR(Service_NS, "called, application_id={:x}", application_id); | ||
| 32 | R_THROW(ResultUnknown); | ||
| 33 | } | ||
| 34 | |||
| 25 | } // namespace Service::AM | 35 | } // namespace Service::AM |
diff --git a/src/core/hle/service/am/application_creator.h b/src/core/hle/service/am/service/application_creator.h index 375a3c476..9f939ebf6 100644 --- a/src/core/hle/service/am/application_creator.h +++ b/src/core/hle/service/am/service/application_creator.h | |||
| @@ -3,14 +3,21 @@ | |||
| 3 | 3 | ||
| 4 | #pragma once | 4 | #pragma once |
| 5 | 5 | ||
| 6 | #include "core/hle/service/cmif_types.h" | ||
| 6 | #include "core/hle/service/service.h" | 7 | #include "core/hle/service/service.h" |
| 7 | 8 | ||
| 8 | namespace Service::AM { | 9 | namespace Service::AM { |
| 9 | 10 | ||
| 11 | class IApplicationAccessor; | ||
| 12 | struct Applet; | ||
| 13 | |||
| 10 | class IApplicationCreator final : public ServiceFramework<IApplicationCreator> { | 14 | class IApplicationCreator final : public ServiceFramework<IApplicationCreator> { |
| 11 | public: | 15 | public: |
| 12 | explicit IApplicationCreator(Core::System& system_); | 16 | explicit IApplicationCreator(Core::System& system_); |
| 13 | ~IApplicationCreator() override; | 17 | ~IApplicationCreator() override; |
| 18 | |||
| 19 | private: | ||
| 20 | Result CreateApplication(Out<SharedPointer<IApplicationAccessor>>, u64 application_id); | ||
| 14 | }; | 21 | }; |
| 15 | 22 | ||
| 16 | } // namespace Service::AM | 23 | } // namespace Service::AM |
diff --git a/src/core/hle/service/am/service/system_applet_proxy.cpp b/src/core/hle/service/am/service/system_applet_proxy.cpp index a3e801799..5ec509d2e 100644 --- a/src/core/hle/service/am/service/system_applet_proxy.cpp +++ b/src/core/hle/service/am/service/system_applet_proxy.cpp | |||
| @@ -1,8 +1,8 @@ | |||
| 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/am/application_creator.h" | ||
| 5 | #include "core/hle/service/am/service/applet_common_functions.h" | 4 | #include "core/hle/service/am/service/applet_common_functions.h" |
| 5 | #include "core/hle/service/am/service/application_creator.h" | ||
| 6 | #include "core/hle/service/am/service/audio_controller.h" | 6 | #include "core/hle/service/am/service/audio_controller.h" |
| 7 | #include "core/hle/service/am/service/common_state_getter.h" | 7 | #include "core/hle/service/am/service/common_state_getter.h" |
| 8 | #include "core/hle/service/am/service/debug_functions.h" | 8 | #include "core/hle/service/am/service/debug_functions.h" |
| @@ -104,8 +104,9 @@ Result ISystemAppletProxy::GetLibraryAppletCreator( | |||
| 104 | 104 | ||
| 105 | Result ISystemAppletProxy::GetApplicationCreator( | 105 | Result ISystemAppletProxy::GetApplicationCreator( |
| 106 | Out<SharedPointer<IApplicationCreator>> out_application_creator) { | 106 | Out<SharedPointer<IApplicationCreator>> out_application_creator) { |
| 107 | LOG_ERROR(Service_AM, "called"); | 107 | LOG_DEBUG(Service_AM, "called"); |
| 108 | R_THROW(ResultUnknown); | 108 | *out_application_creator = std::make_shared<IApplicationCreator>(system); |
| 109 | R_SUCCEED(); | ||
| 109 | } | 110 | } |
| 110 | 111 | ||
| 111 | Result ISystemAppletProxy::GetAppletCommonFunctions( | 112 | Result ISystemAppletProxy::GetAppletCommonFunctions( |