OpenTTD Source  20241108-master-g80f628063a
FileScanner Class Referenceabstract

Helper for scanning for files with a given name. More...

#include <fileio_func.h>

Inheritance diagram for FileScanner:
BaseMedia< SoundsSet > BaseMedia< MusicSet > BaseMedia< GraphicsSet > BaseMedia< Tbase_set > FiosFileScanner GRFFileScanner LanguageScanner ScenarioScanner ScriptFileChecksumCreator ScriptScanner SocialIntegrationFileScanner TarScanner

Public Member Functions

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. More...
 
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. More...
 
virtual bool AddFile (const std::string &filename, size_t basepath_length, const std::string &tar_filename)=0
 Add a file with the given filename. More...
 

Protected Attributes

Subdirectory subdir
 The current sub directory we are searching through.
 

Detailed Description

Helper for scanning for files with a given name.

Definition at line 37 of file fileio_func.h.

Member Function Documentation

◆ AddFile()

virtual bool FileScanner::AddFile ( const std::string &  filename,
size_t  basepath_length,
const std::string &  tar_filename 
)
pure virtual

Add a file with the given filename.

Parameters
filenamethe full path to the file to read
basepath_lengthamount of characters to chop of before to get a filename relative to the search path.
tar_filenamethe name of the tar file the file is read from.
Returns
true if the file is added.

Implemented in ScriptFileChecksumCreator, LanguageScanner, ScenarioScanner, TarScanner, ScriptScanner, GRFFileScanner, FiosFileScanner, BaseMedia< Tbase_set >, BaseMedia< SoundsSet >, BaseMedia< MusicSet >, BaseMedia< GraphicsSet >, and SocialIntegrationFileScanner.

Referenced by ScanPath(), and ScanTar().

◆ Scan() [1/2]

uint FileScanner::Scan ( std::string_view  extension,
const std::string &  directory,
bool  recursive = true 
)

Scan for files with the given extension in the given search path.

Parameters
extensionthe extension of files to search for.
directorythe sub directory to search in.
recursivewhether to search recursively
Returns
the number of found files, i.e. the number of times that AddFile returned true.

Definition at line 1156 of file fileio.cpp.

References AppendPathSeparator(), OTTD2FS(), and ScanPath().

◆ Scan() [2/2]

uint FileScanner::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.

Parameters
extensionthe extension of files to search for.
sdthe sub directory to search in.
tarswhether to search in the tars too.
recursivewhether to search recursively
Returns
the number of found files, i.e. the number of times that AddFile returned true.

Definition at line 1114 of file fileio.cpp.

Referenced by GRFFileScanner::DoScan(), BaseMedia< Tbase_set >::FindSets(), ScriptScanner::RescanDir(), ScenarioScanner::Scan(), and LanguageScanner::Scan().


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