// Copyright 2018 yuzu emulator team // Licensed under GPLv2 or any later version // Refer to the license.txt file included. #pragma once #include #include #include "common/swap.h" namespace Frontend { class SoftwareKeyboardApplet; } namespace Service::AM { class IStorage; namespace Applets { class Applet { public: virtual void Initialize(std::vector> storage); virtual IStorage Execute() = 0; protected: struct CommonArguments { u32_le arguments_version; u32_le size; u32_le library_version; u32_le theme_color; u8 play_startup_sound; u64_le system_tick; }; static_assert(sizeof(CommonArguments) == 0x20, "CommonArguments has incorrect size."); std::vector> storage_stack; bool initialized = false; }; void RegisterSoftwareKeyboard(std::shared_ptr applet); std::shared_ptr GetSoftwareKeyboard(); } // namespace Applets } // namespace Service::AM