diff options
Diffstat (limited to 'engines/metaengine.h')
-rw-r--r-- | engines/metaengine.h | 27 |
1 files changed, 25 insertions, 2 deletions
diff --git a/engines/metaengine.h b/engines/metaengine.h index a95ff1593e..89f786f7b0 100644 --- a/engines/metaengine.h +++ b/engines/metaengine.h @@ -65,6 +65,9 @@ class MetaEngine : public PluginObject { public: virtual ~MetaEngine() {} + /** Get the engine ID */ + virtual const char *getEngineId() const = 0; + /** Returns some copyright information about the original engine. */ virtual const char *getOriginalCopyright() const = 0; @@ -267,17 +270,37 @@ public: */ class EngineManager : public Common::Singleton<EngineManager> { public: - PlainGameDescriptor findGameInLoadedPlugins(const Common::String &gameName, const Plugin **plugin = NULL) const; - PlainGameDescriptor findGame(const Common::String &gameName, const Plugin **plugin = NULL) const; + /** + * Given a list of FSNodes in a given directory, detect a set of games contained within + * + * Returns an empty list if none are found. + */ DetectionResults detectGames(const Common::FSList &fslist) const; + + /** Find a plugin by its engine ID */ + const Plugin *findPlugin(const Common::String &engineId) const; + + /** Get the list of all engine plugins */ const PluginList &getPlugins() const; + /** Find a target */ // TODO: Expand on description + PlainGameDescriptor findTarget(const Common::String &target, const Plugin **plugin = NULL) const; + + /** Find a game across all plugins */ // TODO: Naming, this should be gameId + PlainGameDescriptor findGame(const Common::String &gameName, const Plugin **plugin = NULL) const; + /** * Create a target from the supplied game descriptor * * Returns the created target name. */ Common::String createTargetForGame(const DetectedGame &game); +private: + /** Find a game across all loaded plugins */ + PlainGameDescriptor findGameInLoadedPlugins(const Common::String &gameName, const Plugin **plugin = NULL) const; + + /** Find a loaded plugin with the given engine ID */ + const Plugin *findLoadedPlugin(const Common::String &engineId) const; }; /** Convenience shortcut for accessing the engine manager. */ |