// SPDX-FileCopyrightText: Copyright 2024 shadPS4 Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later #pragma once #include #include #include #include "core/linker.h" #include "input/controller.h" #include "sdl_window.h" namespace Core { using HLEInitDef = void (*)(Core::Loader::SymbolsResolver* sym); struct SysModules { std::string_view module_name; HLEInitDef callback; }; class Emulator { public: Emulator(); ~Emulator(); void Run(const std::filesystem::path& file); private: void LoadSystemModules(const std::filesystem::path& file); Input::GameController* controller = Common::Singleton::Instance(); Core::Linker* linker = Common::Singleton::Instance(); Frontend::WindowSDL window; }; } // namespace Core