/* Copyright (c) 2013-2017 Jeffrey Pfau * * This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ #ifndef QGBA_CORE_MANAGER #define QGBA_CORE_MANAGER #include #include #include struct mCoreConfig; struct VFile; namespace QGBA { class CoreController; class MultiplayerController; class CoreManager : public QObject { Q_OBJECT public: void setConfig(const mCoreConfig*); void setMultiplayerController(MultiplayerController*); void setPreload(bool preload) { m_preload = preload; } public slots: CoreController* loadGame(const QString& path); CoreController* loadGame(VFile* vf, const QString& path, const QString& base); CoreController* loadBIOS(int platform, const QString& path); signals: void coreLoaded(CoreController*); private: const mCoreConfig* m_config = nullptr; MultiplayerController* m_multiplayer = nullptr; bool m_preload = false; }; } #endif