From ce31184557361f3905e81e2ab948de976c51c7e4 Mon Sep 17 00:00:00 2001 From: Subv Date: Thu, 23 Jul 2015 18:52:57 -0500 Subject: Service/APT: Return proper parameters in GetLockHandle. Documented some APT functions This allows applets to boot. --- src/core/hle/applets/applet.cpp | 9 +++++++++ src/core/hle/applets/applet.h | 3 +++ 2 files changed, 12 insertions(+) (limited to 'src/core/hle/applets') diff --git a/src/core/hle/applets/applet.cpp b/src/core/hle/applets/applet.cpp index 826f6cbb6..e9ab6ffd8 100644 --- a/src/core/hle/applets/applet.cpp +++ b/src/core/hle/applets/applet.cpp @@ -89,12 +89,21 @@ ResultCode Applet::Start(const Service::APT::AppletStartupParameter& parameter) return result; } +bool IsLibraryAppletRunning() { + // Check the applets map for instances of any applet + for (auto& itr = applets.begin(); itr != applets.end(); ++itr) + if (itr->second != nullptr) + return true; + return false; +} + void Init() { // Register the applet update callback applet_update_event = CoreTiming::RegisterEvent("HLE Applet Update Event", AppletUpdateEvent); } void Shutdown() { + CoreTiming::RemoveEvent(applet_update_event); } } diff --git a/src/core/hle/applets/applet.h b/src/core/hle/applets/applet.h index b235d0b8a..af442f81d 100644 --- a/src/core/hle/applets/applet.h +++ b/src/core/hle/applets/applet.h @@ -67,6 +67,9 @@ protected: Service::APT::AppletId id; ///< Id of this Applet }; +/// Returns whether a library applet is currently running +bool IsLibraryAppletRunning(); + /// Initializes the HLE applets void Init(); -- cgit v1.2.3