OpenTTD Source 15.0-RC3
GameScannerLibrary Class Reference
Inheritance diagram for GameScannerLibrary:
ScriptScanner FileScanner

Public Member Functions

void Initialize () override
 
class GameLibrary * FindLibrary (const std::string &library, int version)
 Find a library in the pool.
 
- Public Member Functions inherited from ScriptScanner
class Squirrel * GetEngine ()
 Get the engine of the main squirrel handler (it indexes all available scripts).
 
std::string GetMainScript ()
 Get the current main script the ScanDir is currently tracking.
 
std::string GetTarFile ()
 Get the current tar file the ScanDir is currently tracking.
 
const ScriptInfoList * GetInfoList ()
 Get the list of all registered scripts.
 
const ScriptInfoList * GetUniqueInfoList ()
 Get the list of the latest version of all registered scripts.
 
void RegisterScript (std::unique_ptr< class ScriptInfo > &&info)
 Register a ScriptInfo to the scanner.
 
void GetConsoleList (std::back_insert_iterator< std::string > &output_iterator, bool newest_only) const
 Get the list of registered scripts to print on the console.
 
bool HasScript (const struct ContentInfo &ci, bool md5sum)
 Check whether we have a script with the exact characteristics as ci.
 
std::optional< std::string_view > FindMainScript (const ContentInfo &ci, bool md5sum)
 Find a script of a ContentInfo.
 
bool AddFile (const std::string &filename, size_t basepath_length, const std::string &tar_filename) override
 Add a file with the given filename.
 
void RescanDir ()
 Rescan the script dir.
 
- Public Member Functions inherited from FileScanner
virtual ~FileScanner ()=default
 Destruct the proper one...
 
uint Scan (std::string_view extension, Subdirectory sd, bool tars=true, bool recursive=true)
 Scan for files with the given extension in the given search path.
 
uint Scan (std::string_view extension, const std::string &directory, bool recursive=true)
 Scan for files with the given extension in the given search path.
 

Protected Member Functions

std::string GetScriptName (ScriptInfo &info) override
 Get the script name how to store the script in memory.
 
std::string_view GetFileName () const override
 Get the filename to scan for this type of script.
 
Subdirectory GetDirectory () const override
 Get the directory to scan in.
 
std::string_view GetScannerName () const override
 Get the type of the script, in plural.
 
void RegisterAPI (class Squirrel &engine) override
 Register the API for this ScriptInfo.
 
- Protected Member Functions inherited from ScriptScanner
void Initialize (std::string_view name)
 Initialize the scanner.
 
void Reset ()
 Reset all allocated lists.
 
void ResetEngine ()
 Reset the engine to ensure a clean environment for further steps.
 

Additional Inherited Members

- Protected Attributes inherited from ScriptScanner
std::unique_ptr< class Squirrel > engine
 The engine we're scanning with.
 
std::string main_script
 The full path of the script.
 
std::string tar_file
 If, which tar file the script was in.
 
std::vector< std::unique_ptr< ScriptInfo > > info_vector
 
ScriptInfoList info_list
 The list of all script.
 
ScriptInfoList info_single_list
 The list of all unique script. The best script (highest version) is shown.
 
- Protected Attributes inherited from FileScanner
Subdirectory subdir
 The current sub directory we are searching through.
 

Detailed Description

Definition at line 37 of file game_scanner.hpp.

Member Function Documentation

◆ FindLibrary()

GameLibrary * GameScannerLibrary::FindLibrary ( const std::string &  library,
int  version 
)

Find a library in the pool.

Parameters
libraryThe library name to find.
versionThe version the library should have.
Returns
The library if found, nullptr otherwise.

Definition at line 89 of file game_scanner.cpp.

References ScriptScanner::info_list.

◆ GetDirectory()

Subdirectory GameScannerLibrary::GetDirectory ( ) const
inlineoverrideprotectedvirtual

Get the directory to scan in.

Implements ScriptScanner.

Definition at line 52 of file game_scanner.hpp.

References GAME_LIBRARY_DIR.

◆ GetFileName()

std::string_view GameScannerLibrary::GetFileName ( ) const
inlineoverrideprotectedvirtual

Get the filename to scan for this type of script.

Implements ScriptScanner.

Definition at line 51 of file game_scanner.hpp.

◆ GetScannerName()

std::string_view GameScannerLibrary::GetScannerName ( ) const
inlineoverrideprotectedvirtual

Get the type of the script, in plural.

Implements ScriptScanner.

Definition at line 53 of file game_scanner.hpp.

◆ GetScriptName()

std::string GameScannerLibrary::GetScriptName ( ScriptInfo &  info)
overrideprotectedvirtual

Get the script name how to store the script in memory.

Implements ScriptScanner.

Definition at line 78 of file game_scanner.cpp.

References GameLibrary::GetCategory(), and ScriptInfo::GetInstanceName().

◆ Initialize()

void GameScannerLibrary::Initialize ( )
overridevirtual

Implements ScriptScanner.

Definition at line 73 of file game_scanner.cpp.

◆ RegisterAPI()

void GameScannerLibrary::RegisterAPI ( class Squirrel &  engine)
overrideprotectedvirtual

Register the API for this ScriptInfo.

Implements ScriptScanner.

Definition at line 84 of file game_scanner.cpp.

References ScriptScanner::engine, and GameLibrary::RegisterAPI().


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