aboutsummaryrefslogtreecommitdiff
path: root/engines/metaengine.h
diff options
context:
space:
mode:
Diffstat (limited to 'engines/metaengine.h')
-rw-r--r--engines/metaengine.h27
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. */