OpenTTD
Public Types | Public Member Functions | Static Public Member Functions | Private Member Functions
TarScanner Class Reference

Helper for scanning for files with tar as extension. More...

#include <fileio_func.h>

Inheritance diagram for TarScanner:
FileScanner

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 char *filename, size_t basepath_length, const char *tar_filename=NULL)
 Add a file with the given filename. More...
 
bool AddFile (Subdirectory sd, const char *filename)
 Add a single file to the scanned files of a tar, circumventing the scanning code. More...
 

Static Public Member Functions

static uint DoScan (TarScanner::Mode mode)
 Do the scan for Tars. More...
 

Private Member Functions

uint DoScan (Subdirectory sd)
 Perform the scanning of a particular subdirectory. More...
 
- Private Member Functions inherited from FileScanner
virtual ~FileScanner ()
 Destruct the proper one... More...
 
uint Scan (const char *extension, Subdirectory sd, bool tars=true, bool recursive=true)
 Scan for files with the given extension in the given search path. More...
 
uint Scan (const char *extension, const char *directory, bool recursive=true)
 Scan for files with the given extension in the given search path. More...
 

Additional Inherited Members

- Private Attributes inherited from FileScanner
Subdirectory subdir
 The current sub directory we are searching through.
 

Detailed Description

Helper for scanning for files with tar as extension.

Definition at line 95 of file fileio_func.h.

Member Enumeration Documentation

◆ Mode

The mode of tar scanning.

Enumerator
NONE 

Scan nothing.

BASESET 

Scan for base sets.

NEWGRF 

Scan for non-base sets.

AI 

Scan for AIs and its libraries.

SCENARIO 

Scan for scenarios and heightmaps.

GAME 

Scan for game scripts.

ALL 

Scan for everything.

Definition at line 99 of file fileio_func.h.

Member Function Documentation

◆ AddFile() [1/2]

bool TarScanner::AddFile ( const char *  filename,
size_t  basepath_length,
const char *  tar_filename = NULL 
)
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.

< Name of the file

< Size of the file, in ASCII

< Path of the file

< Temporary list to collect links

Implements FileScanner.

Definition at line 694 of file fileio.cpp.

◆ AddFile() [2/2]

bool TarScanner::AddFile ( Subdirectory  sd,
const char *  filename 
)

Add a single file to the scanned files of a tar, circumventing the scanning code.

Parameters
sdThe sub directory the file is in.
filenameThe name of the file to add.
Returns
True if the additions went correctly.

Definition at line 688 of file fileio.cpp.

◆ DoScan() [1/2]

uint TarScanner::DoScan ( Subdirectory  sd)
private

Perform the scanning of a particular subdirectory.

Parameters
subdirThe subdirectory to scan.
Returns
The number of found tar files.

Definition at line 646 of file fileio.cpp.

Referenced by DoScan(), DoScanNewGRFFiles(), Game::Initialize(), AI::Initialize(), AfterNewGRFScan::OnNewGRFsScanned(), AI::Rescan(), and NetworkContentDownloadStatusWindow::~NetworkContentDownloadStatusWindow().

◆ DoScan() [2/2]

uint TarScanner::DoScan ( TarScanner::Mode  mode)
static

Do the scan for Tars.

Definition at line 655 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.


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