hle: kernel: Migrate KReadableEvent and KWritableEvent to KAutoObject.

This commit is contained in:
bunnei
2021-04-10 02:34:26 -07:00
parent eba3bb9d21
commit 2e8d6fe9a0
35 changed files with 219 additions and 204 deletions

View File

@@ -66,7 +66,7 @@ std::shared_ptr<IStorage> AppletDataBroker::PopNormalDataToGame() {
auto out = std::move(out_channel.front());
out_channel.pop_front();
pop_out_data_event.GetWritableEvent()->Clear();
pop_out_data_event.GetWritableEvent().Clear();
return out;
}
@@ -85,7 +85,7 @@ std::shared_ptr<IStorage> AppletDataBroker::PopInteractiveDataToGame() {
auto out = std::move(out_interactive_channel.front());
out_interactive_channel.pop_front();
pop_interactive_out_data_event.GetWritableEvent()->Clear();
pop_interactive_out_data_event.GetWritableEvent().Clear();
return out;
}
@@ -104,7 +104,7 @@ void AppletDataBroker::PushNormalDataFromGame(std::shared_ptr<IStorage>&& storag
void AppletDataBroker::PushNormalDataFromApplet(std::shared_ptr<IStorage>&& storage) {
out_channel.emplace_back(std::move(storage));
pop_out_data_event.GetWritableEvent()->Signal();
pop_out_data_event.GetWritableEvent().Signal();
}
void AppletDataBroker::PushInteractiveDataFromGame(std::shared_ptr<IStorage>&& storage) {
@@ -113,11 +113,11 @@ void AppletDataBroker::PushInteractiveDataFromGame(std::shared_ptr<IStorage>&& s
void AppletDataBroker::PushInteractiveDataFromApplet(std::shared_ptr<IStorage>&& storage) {
out_interactive_channel.emplace_back(std::move(storage));
pop_interactive_out_data_event.GetWritableEvent()->Signal();
pop_interactive_out_data_event.GetWritableEvent().Signal();
}
void AppletDataBroker::SignalStateChanged() {
state_changed_event.GetWritableEvent()->Signal();
state_changed_event.GetWritableEvent().Signal();
switch (applet_mode) {
case LibraryAppletMode::AllForeground:
@@ -141,16 +141,16 @@ void AppletDataBroker::SignalStateChanged() {
}
}
Kernel::KReadableEvent* AppletDataBroker::GetNormalDataEvent() const {
return pop_out_data_event.GetReadableEvent().get();
Kernel::KReadableEvent& AppletDataBroker::GetNormalDataEvent() {
return pop_out_data_event.GetReadableEvent();
}
Kernel::KReadableEvent* AppletDataBroker::GetInteractiveDataEvent() const {
return pop_interactive_out_data_event.GetReadableEvent().get();
Kernel::KReadableEvent& AppletDataBroker::GetInteractiveDataEvent() {
return pop_interactive_out_data_event.GetReadableEvent();
}
Kernel::KReadableEvent* AppletDataBroker::GetStateChangedEvent() const {
return state_changed_event.GetReadableEvent().get();
Kernel::KReadableEvent& AppletDataBroker::GetStateChangedEvent() {
return state_changed_event.GetReadableEvent();
}
Applet::Applet(Core::System& system_, LibraryAppletMode applet_mode_)

View File

@@ -96,11 +96,11 @@ public:
void PushInteractiveDataFromGame(std::shared_ptr<IStorage>&& storage);
void PushInteractiveDataFromApplet(std::shared_ptr<IStorage>&& storage);
void SignalStateChanged() const;
void SignalStateChanged();
Kernel::KReadableEvent* GetNormalDataEvent() const;
Kernel::KReadableEvent* GetInteractiveDataEvent() const;
Kernel::KReadableEvent* GetStateChangedEvent() const;
Kernel::KReadableEvent& GetNormalDataEvent();
Kernel::KReadableEvent& GetInteractiveDataEvent();
Kernel::KReadableEvent& GetStateChangedEvent();
private:
Core::System& system;