revert 460, system_archive
This commit is contained in:
parent
3859799a8c
commit
1da32cf231
3 changed files with 15 additions and 23 deletions
|
@ -13,7 +13,7 @@
|
||||||
namespace FileSys::SystemArchive {
|
namespace FileSys::SystemArchive {
|
||||||
|
|
||||||
constexpr u64 SYSTEM_ARCHIVE_BASE_TITLE_ID = 0x0100000000000800;
|
constexpr u64 SYSTEM_ARCHIVE_BASE_TITLE_ID = 0x0100000000000800;
|
||||||
constexpr std::size_t SYSTEM_ARCHIVE_COUNT = 0x28;
|
constexpr std::size_t SYSTEM_ARCHIVE_COUNT = 0x30;
|
||||||
|
|
||||||
using SystemArchiveSupplier = VirtualDir (*)();
|
using SystemArchiveSupplier = VirtualDir (*)();
|
||||||
|
|
||||||
|
@ -64,6 +64,14 @@ constexpr std::array<SystemArchiveDescriptor, SYSTEM_ARCHIVE_COUNT> SYSTEM_ARCHI
|
||||||
{0x0100000000000825, "ApplicationBlackList", nullptr},
|
{0x0100000000000825, "ApplicationBlackList", nullptr},
|
||||||
{0x0100000000000826, "RebootlessSystemUpdateVersion", nullptr},
|
{0x0100000000000826, "RebootlessSystemUpdateVersion", nullptr},
|
||||||
{0x0100000000000827, "ContentActionTable", nullptr},
|
{0x0100000000000827, "ContentActionTable", nullptr},
|
||||||
|
{0x0100000000000828, "FunctionBlackList", nullptr},
|
||||||
|
{0x0100000000000829, "PlatformConfigCalcio", nullptr},
|
||||||
|
{0x0100000000000830, "NgWordT", nullptr},
|
||||||
|
{0x0100000000000831, "PlatformConfigAula", nullptr},
|
||||||
|
{0x0100000000000832, "CradleFirmware", nullptr},
|
||||||
|
{0x0100000000000835, "ErrorMessageUtf8", nullptr},
|
||||||
|
{0x0100000000000859, "Unknown859", nullptr}, // 20.0.0+
|
||||||
|
{0x010000000000085C, "Unknown85C", nullptr}, // 20.0.0+
|
||||||
}};
|
}};
|
||||||
|
|
||||||
VirtualFile SynthesizeSystemArchive(const u64 title_id) {
|
VirtualFile SynthesizeSystemArchive(const u64 title_id) {
|
||||||
|
|
|
@ -18,7 +18,7 @@ IAllSystemAppletProxiesService::IAllSystemAppletProxiesService(Core::System& sys
|
||||||
// clang-format off
|
// clang-format off
|
||||||
static const FunctionInfo functions[] = {
|
static const FunctionInfo functions[] = {
|
||||||
{100, D<&IAllSystemAppletProxiesService::OpenSystemAppletProxy>, "OpenSystemAppletProxy"},
|
{100, D<&IAllSystemAppletProxiesService::OpenSystemAppletProxy>, "OpenSystemAppletProxy"},
|
||||||
{110, D<&IAllSystemAppletProxiesService::Unknown110>, "Unknown110"},
|
{110, D<&IAllSystemAppletProxiesService::Unknown110>, "Unknown110"}, // 20.0.0+
|
||||||
{200, D<&IAllSystemAppletProxiesService::OpenLibraryAppletProxyOld>, "OpenLibraryAppletProxyOld"},
|
{200, D<&IAllSystemAppletProxiesService::OpenLibraryAppletProxyOld>, "OpenLibraryAppletProxyOld"},
|
||||||
{201, D<&IAllSystemAppletProxiesService::OpenLibraryAppletProxy>, "OpenLibraryAppletProxy"},
|
{201, D<&IAllSystemAppletProxiesService::OpenLibraryAppletProxy>, "OpenLibraryAppletProxy"},
|
||||||
{300, nullptr, "OpenOverlayAppletProxy"},
|
{300, nullptr, "OpenOverlayAppletProxy"},
|
||||||
|
@ -26,7 +26,7 @@ IAllSystemAppletProxiesService::IAllSystemAppletProxiesService(Core::System& sys
|
||||||
{400, nullptr, "CreateSelfLibraryAppletCreatorForDevelop"},
|
{400, nullptr, "CreateSelfLibraryAppletCreatorForDevelop"},
|
||||||
{410, nullptr, "GetSystemAppletControllerForDebug"},
|
{410, nullptr, "GetSystemAppletControllerForDebug"},
|
||||||
{450, D<&IAllSystemAppletProxiesService::GetSystemProcessCommonFunctions>, "GetSystemProcessCommonFunctions"}, // 19.0.0+
|
{450, D<&IAllSystemAppletProxiesService::GetSystemProcessCommonFunctions>, "GetSystemProcessCommonFunctions"}, // 19.0.0+
|
||||||
{460, D<&IAllSystemAppletProxiesService::Unknown460>, "Unknown460"},
|
{460, D<&IAllSystemAppletProxiesService::Unknown460>, "Unknown460"}, // 20.0.0+
|
||||||
{1000, nullptr, "GetDebugFunctions"},
|
{1000, nullptr, "GetDebugFunctions"},
|
||||||
};
|
};
|
||||||
// clang-format on
|
// clang-format on
|
||||||
|
@ -120,28 +120,12 @@ Result IAllSystemAppletProxiesService::GetSystemProcessCommonFunctions() {
|
||||||
|
|
||||||
R_SUCCEED();
|
R_SUCCEED();
|
||||||
}
|
}
|
||||||
Result IAllSystemAppletProxiesService::Unknown460(
|
|
||||||
Out<SharedPointer<IAppletCommonFunctions>> out_common_functions) {
|
|
||||||
|
|
||||||
LOG_DEBUG(Service_AM, "called");
|
Result IAllSystemAppletProxiesService::Unknown460() {
|
||||||
|
LOG_DEBUG(Service_AM, "(STUBBED) called.");
|
||||||
// Получаем текущий процесс
|
|
||||||
auto process = system.ApplicationProcess();
|
|
||||||
if (!process) {
|
|
||||||
LOG_ERROR(Service_AM, "No application process available");
|
|
||||||
R_THROW(ResultUnknown);
|
|
||||||
}
|
|
||||||
|
|
||||||
// Получаем applet через существующий метод
|
|
||||||
auto applet = GetAppletFromProcessId(ProcessId{process->GetProcessId()});
|
|
||||||
if (!applet) {
|
|
||||||
LOG_WARNING(Service_AM, "Applet not found for process");
|
|
||||||
R_THROW(ResultUnknown);
|
|
||||||
}
|
|
||||||
|
|
||||||
*out_common_functions = std::make_shared<IAppletCommonFunctions>(system, applet);
|
|
||||||
R_SUCCEED();
|
R_SUCCEED();
|
||||||
}
|
}
|
||||||
|
|
||||||
std::shared_ptr<Applet> IAllSystemAppletProxiesService::GetAppletFromProcessId(
|
std::shared_ptr<Applet> IAllSystemAppletProxiesService::GetAppletFromProcessId(
|
||||||
ProcessId process_id) {
|
ProcessId process_id) {
|
||||||
return m_window_system.GetByAppletResourceUserId(process_id.pid);
|
return m_window_system.GetByAppletResourceUserId(process_id.pid);
|
||||||
|
|
|
@ -41,7 +41,7 @@ private:
|
||||||
InCopyHandle<Kernel::KProcess> process_handle,
|
InCopyHandle<Kernel::KProcess> process_handle,
|
||||||
InLargeData<AppletAttribute, BufferAttr_HipcMapAlias> attribute);
|
InLargeData<AppletAttribute, BufferAttr_HipcMapAlias> attribute);
|
||||||
Result GetSystemProcessCommonFunctions();
|
Result GetSystemProcessCommonFunctions();
|
||||||
Result Unknown460(Out<SharedPointer<IAppletCommonFunctions>> out_common_functions);
|
Result Unknown460();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
std::shared_ptr<Applet> GetAppletFromProcessId(ProcessId pid);
|
std::shared_ptr<Applet> GetAppletFromProcessId(ProcessId pid);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue