From ce80c0c730b048baf47d7fcb6a48468bcd4ec97b Mon Sep 17 00:00:00 2001 From: aryanrawlani28 Date: Mon, 3 Aug 2020 00:58:30 +0530 Subject: [PATCH] ENGINES: Add a helper method - getMetaEngineConnect(). - Get a metaEngine plugin by querying the ConfMan. - Next, use this MetaEngine to find a matching enginePlugin. - Return the enginePlugin. --- engines/engine.cpp | 10 ++++++++++ engines/engine.h | 2 ++ 2 files changed, 12 insertions(+) diff --git a/engines/engine.cpp b/engines/engine.cpp index 29daa66ecd3..fd5add4f9d3 100644 --- a/engines/engine.cpp +++ b/engines/engine.cpp @@ -871,6 +871,16 @@ MetaEngine &Engine::getMetaEngine() { return plugin->get(); } +MetaEngineConnect &Engine::getMetaEngineConnect() { + const Plugin *metaEnginePlugin = EngineMan.findPlugin(ConfMan.get("engineid")); + assert(metaEnginePlugin); + + const Plugin *enginePlugin = PluginMan.giveEngineFromMetaEngine(metaEnginePlugin); + assert(enginePlugin); + + return enginePlugin->get(); +} + PauseToken::PauseToken() : _engine(nullptr) {} PauseToken::PauseToken(Engine *engine) : _engine(engine) {} diff --git a/engines/engine.h b/engines/engine.h index a5dde6b0b0a..7a7402e0553 100644 --- a/engines/engine.h +++ b/engines/engine.h @@ -32,6 +32,7 @@ class OSystem; class MetaEngine; +class MetaEngineConnect; namespace Audio { class Mixer; @@ -379,6 +380,7 @@ public: static bool shouldQuit(); static MetaEngine &getMetaEngine(); + static MetaEngineConnect &getMetaEngineConnect(); /** * Pause the engine. This should stop any audio playback