diff options
Diffstat (limited to '')
-rw-r--r-- | src/core/hle/service/glue/arp.cpp | 11 | ||||
-rw-r--r-- | src/core/hle/service/glue/arp.h | 2 | ||||
-rw-r--r-- | src/core/hle/service/glue/bgtc.cpp | 27 | ||||
-rw-r--r-- | src/core/hle/service/glue/bgtc.h | 8 |
4 files changed, 44 insertions, 4 deletions
diff --git a/src/core/hle/service/glue/arp.cpp b/src/core/hle/service/glue/arp.cpp index fc77e7286..322125135 100644 --- a/src/core/hle/service/glue/arp.cpp +++ b/src/core/hle/service/glue/arp.cpp @@ -41,6 +41,12 @@ ARP_R::ARP_R(Core::System& system_, const ARPManager& manager_) {1, &ARP_R::GetApplicationLaunchPropertyWithApplicationId, "GetApplicationLaunchPropertyWithApplicationId"}, {2, &ARP_R::GetApplicationControlProperty, "GetApplicationControlProperty"}, {3, &ARP_R::GetApplicationControlPropertyWithApplicationId, "GetApplicationControlPropertyWithApplicationId"}, + {4, nullptr, "GetApplicationInstanceUnregistrationNotifier"}, + {5, nullptr, "ListApplicationInstanceId"}, + {6, nullptr, "GetMicroApplicationInstanceId"}, + {7, nullptr, "GetApplicationCertificate"}, + {9998, nullptr, "GetPreomiaApplicationLaunchProperty"}, + {9999, nullptr, "GetPreomiaApplicationControlProperty"}, }; // clang-format on @@ -243,7 +249,8 @@ ARP_W::ARP_W(Core::System& system_, ARPManager& manager_) // clang-format off static const FunctionInfo functions[] = { {0, &ARP_W::AcquireRegistrar, "AcquireRegistrar"}, - {1, &ARP_W::DeleteProperties, "DeleteProperties"}, + {1, &ARP_W::UnregisterApplicationInstance , "UnregisterApplicationInstance "}, + {2, nullptr, "AcquireUpdater"}, }; // clang-format on @@ -270,7 +277,7 @@ void ARP_W::AcquireRegistrar(Kernel::HLERequestContext& ctx) { rb.PushIpcInterface(registrar); } -void ARP_W::DeleteProperties(Kernel::HLERequestContext& ctx) { +void ARP_W::UnregisterApplicationInstance(Kernel::HLERequestContext& ctx) { IPC::RequestParser rp{ctx}; const auto process_id = rp.PopRaw<u64>(); diff --git a/src/core/hle/service/glue/arp.h b/src/core/hle/service/glue/arp.h index 34b412e26..0df3c5e1f 100644 --- a/src/core/hle/service/glue/arp.h +++ b/src/core/hle/service/glue/arp.h @@ -32,7 +32,7 @@ public: private: void AcquireRegistrar(Kernel::HLERequestContext& ctx); - void DeleteProperties(Kernel::HLERequestContext& ctx); + void UnregisterApplicationInstance(Kernel::HLERequestContext& ctx); ARPManager& manager; std::shared_ptr<IRegistrar> registrar; diff --git a/src/core/hle/service/glue/bgtc.cpp b/src/core/hle/service/glue/bgtc.cpp index a478b68e1..daecfff15 100644 --- a/src/core/hle/service/glue/bgtc.cpp +++ b/src/core/hle/service/glue/bgtc.cpp @@ -2,6 +2,9 @@ // Licensed under GPLv2 or any later version // Refer to the license.txt file included. +#include "common/logging/log.h" +#include "core/core.h" +#include "core/hle/ipc_helpers.h" #include "core/hle/service/glue/bgtc.h" namespace Service::Glue { @@ -9,6 +12,26 @@ namespace Service::Glue { BGTC_T::BGTC_T(Core::System& system_) : ServiceFramework{system_, "bgtc:t"} { // clang-format off static const FunctionInfo functions[] = { + {100, &BGTC_T::OpenTaskService, "OpenTaskService"}, + }; + // clang-format on + + RegisterHandlers(functions); +} + +BGTC_T::~BGTC_T() = default; + +void BGTC_T::OpenTaskService(Kernel::HLERequestContext& ctx) { + LOG_DEBUG(Service_BGTC, "called"); + + IPC::ResponseBuilder rb{ctx, 2, 0, 1}; + rb.Push(RESULT_SUCCESS); + rb.PushIpcInterface<ITaskService>(system); +} + +ITaskService::ITaskService(Core::System& system_) : ServiceFramework{system_, "ITaskService"} { + // clang-format off + static const FunctionInfo functions[] = { {1, nullptr, "NotifyTaskStarting"}, {2, nullptr, "NotifyTaskFinished"}, {3, nullptr, "GetTriggerEvent"}, @@ -20,16 +43,18 @@ BGTC_T::BGTC_T(Core::System& system_) : ServiceFramework{system_, "bgtc:t"} { {13, nullptr, "UnscheduleTask"}, {14, nullptr, "GetScheduleEvent"}, {15, nullptr, "SchedulePeriodicTask"}, + {16, nullptr, "Unknown16"}, {101, nullptr, "GetOperationMode"}, {102, nullptr, "WillDisconnectNetworkWhenEnteringSleep"}, {103, nullptr, "WillStayHalfAwakeInsteadSleep"}, + {200, nullptr, "Unknown200"}, }; // clang-format on RegisterHandlers(functions); } -BGTC_T::~BGTC_T() = default; +ITaskService::~ITaskService() = default; BGTC_SC::BGTC_SC(Core::System& system_) : ServiceFramework{system_, "bgtc:sc"} { // clang-format off diff --git a/src/core/hle/service/glue/bgtc.h b/src/core/hle/service/glue/bgtc.h index 906116ba6..4c0142fd5 100644 --- a/src/core/hle/service/glue/bgtc.h +++ b/src/core/hle/service/glue/bgtc.h @@ -16,6 +16,14 @@ class BGTC_T final : public ServiceFramework<BGTC_T> { public: explicit BGTC_T(Core::System& system_); ~BGTC_T() override; + + void OpenTaskService(Kernel::HLERequestContext& ctx); +}; + +class ITaskService final : public ServiceFramework<ITaskService> { +public: + explicit ITaskService(Core::System& system_); + ~ITaskService() override; }; class BGTC_SC final : public ServiceFramework<BGTC_SC> { |