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, ALL = BASESET | NEWGRF | AI | SCENARIO
}
 

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.
bool AddFile (Subdirectory sd, const char *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.

Detailed Description

Helper for scanning for files with tar as extension.

Definition at line 93 of file fileio_func.h.


Member Enumeration Documentation

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.

ALL 

Scan for everything.

Definition at line 97 of file fileio_func.h.


Member Function Documentation

bool TarScanner::AddFile ( const char *  filename,
size_t  basepath_length,
const char *  tar_filename = NULL 
) [virtual]

Add a file with the given filename.

Parameters:
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.
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 697 of file fileio.cpp.

References Align(), DEBUG, lastof, SimplifyFileName(), and strecpy().

Referenced by AddFile(), and ClientNetworkContentSocketHandler::AfterDownload().

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

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

Parameters:
sd The sub directory the file is in.
filename The name of the file to add.
Returns:
True if the additions went correctly.

Definition at line 691 of file fileio.cpp.

References AddFile().

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

Do the scan for Tars.

Definition at line 663 of file fileio.cpp.

References AI, AI_DIR, AI_LIBRARY_DIR, BASESET, BASESET_DIR, DEBUG, DoScan(), NEWGRF, NEWGRF_DIR, SCENARIO, and SCENARIO_DIR.

uint TarScanner::DoScan ( Subdirectory  sd  )  [private]

Perform the scanning of a particular subdirectory.

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

Definition at line 654 of file fileio.cpp.

References BASESET_DIR, NEWGRF_DIR, OLD_DATA_DIR, and FileScanner::Scan().

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


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