ScummVM API documentation
EngineManager Class Reference

#include <metaengine.h>

Inheritance diagram for EngineManager:
Common::Singleton< EngineManager > Common::NonCopyable

Public Member Functions

DetectionResults detectGames (const Common::FSList &fslist, uint32 skipADFlags=0, bool skipIncomplete=false)
 
const PluginfindPlugin (const Common::String &engineId) const
 
const PluginListgetPlugins (const PluginType fetchPluginType=PLUGIN_TYPE_ENGINE_DETECTION) const
 
QualifiedGameDescriptor findTarget (const Common::String &target, const Plugin **plugin=NULL) const
 
QualifiedGameList findGamesMatching (const Common::String &engineId, const Common::String &gameId) const
 
Common::String createTargetForGame (const DetectedGame &game)
 
void upgradeTargetIfNecessary (const Common::String &target) const
 
Common::String generateUniqueDomain (const Common::String gameId)
 

Additional Inherited Members

- Static Public Member Functions inherited from Common::Singleton< EngineManager >
static bool hasInstance ()
 
static EngineManagerinstance ()
 
static void destroy ()
 
- Protected Types inherited from Common::Singleton< EngineManager >
typedef EngineManager SingletonBaseType
 
- Static Protected Attributes inherited from Common::Singleton< EngineManager >
static EngineManager_singleton
 

Detailed Description

Singleton class that manages all engine plugins.

Member Function Documentation

◆ detectGames()

DetectionResults EngineManager::detectGames ( const Common::FSList fslist,
uint32  skipADFlags = 0,
bool  skipIncomplete = false 
)

Given a list of FSNodes in a given directory, detect a set of games contained within. @ param skipADFlags Ignore results which are flagged with the ADGF flags specified here (for mass add) @ param skipIncomplete Ignore incomplete file/md5/size matches (for mass add) Returns an empty list if none are found.

◆ findPlugin()

const Plugin* EngineManager::findPlugin ( const Common::String engineId) const

Find a plugin by its engine ID.

◆ getPlugins()

const PluginList& EngineManager::getPlugins ( const PluginType  fetchPluginType = PLUGIN_TYPE_ENGINE_DETECTION) const

Get the list of all plugins for the type specified.

By default, it will get METAENGINES, for now. If usage of actual engines never occurs, the default arguments can be skipped, and always have it return PLUGIN_TYPE_ENGINE_DETECTION.

◆ findTarget()

QualifiedGameDescriptor EngineManager::findTarget ( const Common::String target,
const Plugin **  plugin = NULL 
) const

Find a target.

◆ findGamesMatching()

QualifiedGameList EngineManager::findGamesMatching ( const Common::String engineId,
const Common::String gameId 
) const

List games matching the specified criteria.

If the engine ID is not specified, this scans all the plugins, loading them from the disk if necessary. This is a slow operation on some platforms and should not be used for the happy path.

◆ createTargetForGame()

Common::String EngineManager::createTargetForGame ( const DetectedGame game)

Create a target from the supplied game descriptor.

Returns
The created target name.

◆ upgradeTargetIfNecessary()

void EngineManager::upgradeTargetIfNecessary ( const Common::String target) const

Upgrade a target to the current configuration format.

◆ generateUniqueDomain()

Common::String EngineManager::generateUniqueDomain ( const Common::String  gameId)

Generate valid, non-repeated domainName for game


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