Applets: Reworked how the Applet update event is handled.

Applets are now cleaned up in AppletUpdateEvent after calling their respective Update method.
This commit is contained in:
Subv 2015-05-27 15:21:06 -05:00
parent 621ee10eae
commit 725d5eea78
7 changed files with 61 additions and 35 deletions

View file

@ -44,7 +44,7 @@ static u32 cpu_percent; ///< CPU time available to the running application
/// Parameter data to be returned in the next call to Glance/ReceiveParameter
static MessageParameter next_parameter;
void SendParameter(MessageParameter const& parameter) {
void SendParameter(const MessageParameter& parameter) {
next_parameter = parameter;
// Signal the event to let the application know that a new parameter is ready to be read
parameter_event->Signal();
@ -338,7 +338,7 @@ void StartLibraryApplet(Service::Interface* self) {
u32* cmd_buff = Kernel::GetCommandBuffer();
AppletId applet_id = static_cast<AppletId>(cmd_buff[1]);
std::shared_ptr<HLE::Applets::Applet> applet = HLE::Applets::Applet::Get(applet_id);
LOG_DEBUG(Service_APT, "called applet_id=%08X", applet_id);
if (applet == nullptr) {

View file

@ -63,7 +63,7 @@ enum class AppletId : u32 {
};
/// Send a parameter to the currently-running application, which will read it via ReceiveParameter
void SendParameter(MessageParameter const& parameter);
void SendParameter(const MessageParameter& parameter);
/**
* APT::Initialize service function

View file

@ -176,7 +176,7 @@ void SignalInterrupt(InterruptId interrupt_id);
void SetBufferSwap(u32 screen_id, const FrameBufferInfo& info);
/**
* Retrieves the framebuffer info stored in the GSP shared memory for the
* Retrieves the framebuffer info stored in the GSP shared memory for the
* specified screen index and thread id.
* @param thread_id GSP thread id of the process that accesses the structure that we are requesting.
* @param screen_index Index of the screen we are requesting (Top = 0, Bottom = 1).