summaryrefslogtreecommitdiffstats
path: root/src/core/hle/service/am/applet.h
diff options
context:
space:
mode:
authorLiam <byteslice@airmail.cc>2024-01-03 07:16:27 +0100
committerLiam <byteslice@airmail.cc>2024-01-30 02:17:33 +0100
commit8a146469c0639ff402e77da8843072ce1f2bce0c (patch)
treec5dbc016c8ff1affaa06d9bfe7b580b468fed1ba /src/core/hle/service/am/applet.h
parentam: rework IStorage for transfer storage (diff)
downloadyuzu-8a146469c0639ff402e77da8843072ce1f2bce0c.tar
yuzu-8a146469c0639ff402e77da8843072ce1f2bce0c.tar.gz
yuzu-8a146469c0639ff402e77da8843072ce1f2bce0c.tar.bz2
yuzu-8a146469c0639ff402e77da8843072ce1f2bce0c.tar.lz
yuzu-8a146469c0639ff402e77da8843072ce1f2bce0c.tar.xz
yuzu-8a146469c0639ff402e77da8843072ce1f2bce0c.tar.zst
yuzu-8a146469c0639ff402e77da8843072ce1f2bce0c.zip
Diffstat (limited to 'src/core/hle/service/am/applet.h')
-rw-r--r--src/core/hle/service/am/applet.h36
1 files changed, 1 insertions, 35 deletions
diff --git a/src/core/hle/service/am/applet.h b/src/core/hle/service/am/applet.h
index 9650a2615..65bfbc250 100644
--- a/src/core/hle/service/am/applet.h
+++ b/src/core/hle/service/am/applet.h
@@ -21,41 +21,8 @@
#include "core/hle/service/am/storage.h"
#include "core/hle/service/am/system_buffer_manager.h"
-namespace Service::Nvnflinger {
-class FbShareBufferManager;
-class Nvnflinger;
-} // namespace Service::Nvnflinger
-
namespace Service::AM {
-class AppletStorageChannel {
-public:
- explicit AppletStorageChannel(KernelHelpers::ServiceContext& ctx);
- ~AppletStorageChannel();
-
- void PushData(std::shared_ptr<IStorage> storage);
- Result PopData(std::shared_ptr<IStorage>* out_storage);
- Kernel::KReadableEvent* GetEvent();
-
-private:
- std::mutex m_lock{};
- std::deque<std::shared_ptr<IStorage>> m_data{};
- Event m_event;
-};
-
-struct AppletStorageHolder {
- explicit AppletStorageHolder(Core::System& system);
- ~AppletStorageHolder();
-
- KernelHelpers::ServiceContext context;
-
- AppletStorageChannel in_data;
- AppletStorageChannel interactive_in_data;
- AppletStorageChannel out_data;
- AppletStorageChannel interactive_out_data;
- Event state_changed_event;
-};
-
struct Applet {
explicit Applet(Core::System& system, std::unique_ptr<Process> process_);
~Applet();
@@ -126,8 +93,7 @@ struct Applet {
// Caller applet
std::weak_ptr<Applet> caller_applet{};
- std::shared_ptr<AppletStorageHolder> caller_applet_storage{};
- bool is_completed{};
+ std::shared_ptr<AppletDataBroker> caller_applet_broker{};
// Self state
bool exit_locked{};