// Copyright 2018 yuzu emulator team // Licensed under GPLv2 or any later version // Refer to the license.txt file included. #pragma once #include #include "core/hle/kernel/hle_ipc.h" #include "core/hle/service/service.h" namespace Service { namespace FileSystem { class FileSystemController; } namespace NVFlinger { class NVFlinger; } namespace AM { class AppletMessageQueue; class AppletAE final : public ServiceFramework { public: explicit AppletAE(NVFlinger::NVFlinger& nvflinger_, std::shared_ptr msg_queue_, Core::System& system_); ~AppletAE() override; const std::shared_ptr& GetMessageQueue() const; private: void OpenSystemAppletProxy(Kernel::HLERequestContext& ctx); void OpenLibraryAppletProxy(Kernel::HLERequestContext& ctx); void OpenLibraryAppletProxyOld(Kernel::HLERequestContext& ctx); NVFlinger::NVFlinger& nvflinger; std::shared_ptr msg_queue; }; } // namespace AM } // namespace Service