ScummVM API documentation
MetaEngineDetection Class Referenceabstract

#include <metaengine.h>

Inheritance diagram for MetaEngineDetection:
AdvancedMetaEngineDetection

Public Member Functions

virtual const char * getEngineId () const =0
 
virtual const char * getOriginalCopyright () const =0
 
virtual PlainGameList getSupportedGames () const =0
 
virtual PlainGameDescriptor findGame (const char *gameId) const =0
 
virtual DetectedGames detectGames (const Common::FSList &fslist) const =0
 
virtual const ExtraGuiOptions getExtraGuiOptions (const Common::String &target) const
 
virtual void registerDefaultSettings (const Common::String &target) const
 
virtual GUI::OptionsContainerWidget * buildEngineOptionsWidgetStatic (GUI::GuiObject *boss, const Common::String &name, const Common::String &target) const
 

Detailed Description

A meta engine factory for Engine instances with the added ability of listing and detecting supported games.

Every engine "plugin" provides a hook to get an instance of a MetaEngineDetection subclass for that "engine plugin". For example, SCUMM provides ScummMetaEngineDetection. This is then in turn used by the frontend code to detect games, and other useful functionality.

To instantiate actual Engine objects, see the class MetaEngine.

Member Function Documentation

◆ getEngineId()

virtual const char* MetaEngineDetection::getEngineId ( ) const
pure virtual

Get the engine ID.

◆ getOriginalCopyright()

virtual const char* MetaEngineDetection::getOriginalCopyright ( ) const
pure virtual

Return some copyright information about the original engine.

◆ getSupportedGames()

virtual PlainGameList MetaEngineDetection::getSupportedGames ( ) const
pure virtual

Return a list of games supported by this engine.

Implemented in AdvancedMetaEngineDetection.

◆ findGame()

virtual PlainGameDescriptor MetaEngineDetection::findGame ( const char *  gameId) const
pure virtual

Query the engine for a PlainGameDescriptor for the specified gameid, if any.

Implemented in AdvancedMetaEngineDetection.

◆ detectGames()

virtual DetectedGames MetaEngineDetection::detectGames ( const Common::FSList &  fslist) const
pure virtual

Run the engine's game detector on the given list of files, and return a (possibly empty) list of games supported by the engine that were found among the given files.

Implemented in AdvancedMetaEngineDetection.

◆ getExtraGuiOptions()

virtual const ExtraGuiOptions MetaEngineDetection::getExtraGuiOptions ( const Common::String &  target) const
inlinevirtual

Return a list of extra GUI options for the specified target.

If no target is specified, all of the available custom GUI options are returned for the plugin (used to set default values).

Currently, this only supports options with checkboxes.

The default implementation returns an empty list.

Parameters
targetName of a config manager target.
Returns
A list of extra GUI options for an engine plugin and target.

Reimplemented in AdvancedMetaEngineDetection.

◆ registerDefaultSettings()

virtual void MetaEngineDetection::registerDefaultSettings ( const Common::String &  target) const
virtual

Register the default values for the settings that the engine uses into the configuration manager.

Parameters
targetName of a config manager target.

◆ buildEngineOptionsWidgetStatic()

virtual GUI::OptionsContainerWidget* MetaEngineDetection::buildEngineOptionsWidgetStatic ( GUI::GuiObject *  boss,
const Common::String &  name,
const Common::String &  target 
) const
virtual

Return a GUI widget container for configuring the specified target options.

The returned widget is shown in the Engine tab in the Edit Game dialog. Engines can build custom option dialogs, but by default a simple widget allowing to configure the extra GUI options is used.

Engines that are not supposed to have an Engine tab in the Edit Game dialog can return nullptr.

Parameters
bossThe widget or dialog that the returned widget is a child of.
nameThe name that the returned widget must use.
targetName of a config manager target.

The documentation for this class was generated from the following file: