am: Remove bcat from PopLaunchParameter
This never belonged here and has no use anymore since the Boxcat backend was removed. .
This commit is contained in:
parent
24ab10c2f6
commit
36917d8a8f
2 changed files with 4 additions and 20 deletions
|
@ -46,7 +46,7 @@ constexpr Result ResultNoMessages{ErrorModule::AM, 3};
|
||||||
constexpr Result ResultInvalidOffset{ErrorModule::AM, 503};
|
constexpr Result ResultInvalidOffset{ErrorModule::AM, 503};
|
||||||
|
|
||||||
enum class LaunchParameterKind : u32 {
|
enum class LaunchParameterKind : u32 {
|
||||||
ApplicationSpecific = 1,
|
UserChannel = 1,
|
||||||
AccountPreselectedUser = 2,
|
AccountPreselectedUser = 2,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -1518,25 +1518,10 @@ void IApplicationFunctions::PopLaunchParameter(HLERequestContext& ctx) {
|
||||||
IPC::RequestParser rp{ctx};
|
IPC::RequestParser rp{ctx};
|
||||||
const auto kind = rp.PopEnum<LaunchParameterKind>();
|
const auto kind = rp.PopEnum<LaunchParameterKind>();
|
||||||
|
|
||||||
LOG_DEBUG(Service_AM, "called, kind={:08X}", kind);
|
LOG_WARNING(Service_AM, "(STUBBED) called, kind={:08X}", kind);
|
||||||
|
|
||||||
if (kind == LaunchParameterKind::ApplicationSpecific && !launch_popped_application_specific) {
|
if (kind == LaunchParameterKind::UserChannel) {
|
||||||
const auto backend = BCAT::CreateBackendFromSettings(system, [this](u64 tid) {
|
LOG_ERROR(Service_AM, "Popping from UserChannel is not supported!");
|
||||||
return system.GetFileSystemController().GetBCATDirectory(tid);
|
|
||||||
});
|
|
||||||
const auto build_id_full = system.GetApplicationProcessBuildID();
|
|
||||||
u64 build_id{};
|
|
||||||
std::memcpy(&build_id, build_id_full.data(), sizeof(u64));
|
|
||||||
|
|
||||||
auto data =
|
|
||||||
backend->GetLaunchParameter({system.GetApplicationProcessProgramID(), build_id});
|
|
||||||
if (data.has_value()) {
|
|
||||||
IPC::ResponseBuilder rb{ctx, 2, 0, 1};
|
|
||||||
rb.Push(ResultSuccess);
|
|
||||||
rb.PushIpcInterface<IStorage>(system, std::move(*data));
|
|
||||||
launch_popped_application_specific = true;
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
} else if (kind == LaunchParameterKind::AccountPreselectedUser &&
|
} else if (kind == LaunchParameterKind::AccountPreselectedUser &&
|
||||||
!launch_popped_account_preselect) {
|
!launch_popped_account_preselect) {
|
||||||
LaunchParameterAccountPreselectedUser params{};
|
LaunchParameterAccountPreselectedUser params{};
|
||||||
|
|
|
@ -339,7 +339,6 @@ private:
|
||||||
|
|
||||||
KernelHelpers::ServiceContext service_context;
|
KernelHelpers::ServiceContext service_context;
|
||||||
|
|
||||||
bool launch_popped_application_specific = false;
|
|
||||||
bool launch_popped_account_preselect = false;
|
bool launch_popped_account_preselect = false;
|
||||||
s32 previous_program_index{-1};
|
s32 previous_program_index{-1};
|
||||||
Kernel::KEvent* gpu_error_detected_event;
|
Kernel::KEvent* gpu_error_detected_event;
|
||||||
|
|
Loading…
Reference in a new issue