|
|
|
@ -34,7 +34,7 @@ SERVICE_CONSTRUCT_IMPL(Service::APT::Module)
|
|
|
|
|
namespace Service::APT {
|
|
|
|
|
|
|
|
|
|
template <class Archive>
|
|
|
|
|
void Module::serialize(Archive& ar, const unsigned int) {
|
|
|
|
|
void Module::serialize(Archive& ar, const unsigned int file_version) {
|
|
|
|
|
ar& shared_font_mem;
|
|
|
|
|
ar& shared_font_loaded;
|
|
|
|
|
ar& shared_font_relocated;
|
|
|
|
@ -44,6 +44,9 @@ void Module::serialize(Archive& ar, const unsigned int) {
|
|
|
|
|
ar& screen_capture_buffer;
|
|
|
|
|
ar& screen_capture_post_permission;
|
|
|
|
|
ar& applet_manager;
|
|
|
|
|
if (file_version > 0) {
|
|
|
|
|
ar& wireless_reboot_info;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
SERIALIZE_IMPL(Module)
|
|
|
|
@ -53,6 +56,19 @@ Module::NSInterface::NSInterface(std::shared_ptr<Module> apt, const char* name,
|
|
|
|
|
|
|
|
|
|
Module::NSInterface::~NSInterface() = default;
|
|
|
|
|
|
|
|
|
|
void Module::NSInterface::SetWirelessRebootInfo(Kernel::HLERequestContext& ctx) {
|
|
|
|
|
IPC::RequestParser rp(ctx, 0x06, 1, 2); // 0x00060042
|
|
|
|
|
u32 size = rp.Pop<u32>();
|
|
|
|
|
auto buffer = rp.PopStaticBuffer();
|
|
|
|
|
|
|
|
|
|
apt->wireless_reboot_info = std::move(buffer);
|
|
|
|
|
|
|
|
|
|
auto rb = rp.MakeBuilder(1, 0);
|
|
|
|
|
rb.Push(RESULT_SUCCESS);
|
|
|
|
|
|
|
|
|
|
LOG_WARNING(Service_APT, "called size={}", size);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void Module::APTInterface::Initialize(Kernel::HLERequestContext& ctx) {
|
|
|
|
|
IPC::RequestParser rp(ctx, 0x2, 2, 0); // 0x20080
|
|
|
|
|
AppletId app_id = rp.PopEnum<AppletId>();
|
|
|
|
@ -257,6 +273,17 @@ void Module::APTInterface::GetSharedFont(Kernel::HLERequestContext& ctx) {
|
|
|
|
|
rb.PushCopyObjects(apt->shared_font_mem);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void Module::APTInterface::GetWirelessRebootInfo(Kernel::HLERequestContext& ctx) {
|
|
|
|
|
IPC::RequestParser rp(ctx, 0x45, 1, 0); // 0x00450040
|
|
|
|
|
u32 size = rp.Pop<u32>();
|
|
|
|
|
|
|
|
|
|
LOG_WARNING(Service_APT, "called size={:08X}", size);
|
|
|
|
|
|
|
|
|
|
IPC::RequestBuilder rb = rp.MakeBuilder(1, 2);
|
|
|
|
|
rb.Push(RESULT_SUCCESS);
|
|
|
|
|
rb.PushStaticBuffer(apt->wireless_reboot_info, 0);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void Module::APTInterface::NotifyToWait(Kernel::HLERequestContext& ctx) {
|
|
|
|
|
IPC::RequestParser rp(ctx, 0x43, 1, 0); // 0x430040
|
|
|
|
|
u32 app_id = rp.Pop<u32>();
|
|
|
|
|