OpenTTD Source 20241224-master-gf74b0cf984
|
Helper for scanning for files with tar as extension. More...
#include <fileio_func.h>
Public Types | |
enum | Mode { NONE = 0 , BASESET = 1 << 0 , NEWGRF = 1 << 1 , AI = 1 << 2 , SCENARIO = 1 << 3 , GAME = 1 << 4 , ALL = BASESET | NEWGRF | AI | SCENARIO | GAME } |
The mode of tar scanning. More... | |
Public Member Functions | |
bool | AddFile (const std::string &filename, size_t basepath_length, const std::string &tar_filename={}) override |
Add a file with the given filename. | |
bool | AddFile (Subdirectory sd, const std::string &filename) |
Add a single file to the scanned files of a tar, circumventing the scanning code. | |
Static Public Member Functions | |
static uint | DoScan (TarScanner::Mode mode) |
Do the scan for Tars. | |
Private Member Functions | |
uint | DoScan (Subdirectory sd) |
Perform the scanning of a particular subdirectory. | |
Private 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. | |
Additional Inherited Members | |
Private Attributes inherited from FileScanner | |
Subdirectory | subdir |
The current sub directory we are searching through. | |
Helper for scanning for files with tar as extension.
Definition at line 59 of file fileio_func.h.
enum TarScanner::Mode |
The mode of tar scanning.
Definition at line 63 of file fileio_func.h.
|
overridevirtual |
Add a file with the given filename.
filename | the full path to the file to read |
basepath_length | amount of characters to chop of before to get a filename relative to the search path. |
tar_filename | the name of the tar file the file is read from. |
< Name of the file
< Size of the file, in ASCII octals
< Path of the file
Implements FileScanner.
Definition at line 438 of file fileio.cpp.
References Align(), Debug, ExtractString(), FS2OTTD(), FileHandle::Open(), OTTD2FS(), SimplifyFileName(), StrTrimInPlace(), and FileScanner::subdir.
Referenced by AddFile(), and ClientNetworkContentSocketHandler::AfterDownload().
bool TarScanner::AddFile | ( | Subdirectory | sd, |
const std::string & | filename | ||
) |
Add a single file to the scanned files of a tar, circumventing the scanning code.
sd | The sub directory the file is in. |
filename | The name of the file to add. |
Definition at line 417 of file fileio.cpp.
References AddFile().
|
private |
Perform the scanning of a particular subdirectory.
sd | The subdirectory to scan. |
Definition at line 375 of file fileio.cpp.
References BASESET_DIR, NEWGRF_DIR, OLD_DATA_DIR, and FileScanner::Scan().
Referenced by NetworkContentDownloadStatusWindow::Close(), DoScan(), DoScanNewGRFFiles(), AI::Initialize(), Game::Initialize(), AfterNewGRFScan::OnNewGRFsScanned(), openttd_main(), and AI::Rescan().
|
static |
Do the scan for Tars.
Definition at line 384 of file fileio.cpp.
References AI, AI_DIR, AI_LIBRARY_DIR, BASESET, BASESET_DIR, Debug, DoScan(), GAME, GAME_DIR, GAME_LIBRARY_DIR, HEIGHTMAP_DIR, NEWGRF, NEWGRF_DIR, SCENARIO, and SCENARIO_DIR.