Advanced Strategic Command
|
The interface for the various streams that ASC offers, like file and memory streams. More...
#include <string>
#include <stdio.h>
#include <time.h>
#include <vector>
#include <list>
#include <queue>
#include <SDL.h>
#include "global.h"
#include "basestreaminterface.h"
#include "lzw.h"
#include "errors.h"
#include "simplestream.h"
#include "basetemp.h"
Go to the source code of this file.
Classes | |
class | RWOPS_Handler |
class | CharBuf |
class | StreamCompressionError |
class | OutOfMemoryError |
class | tbufferoverflow |
class | tinvalidversion |
class | dynamic_array< T > |
DEPRECATED Use containers of the C++ Standard Template Library instead! Container for managing objects of type T. More... | |
class | MemoryStreamCopy |
Buffers the complete contents of a stream in memory. More... | |
class | MemoryStreamStorage |
An in-memory storage of streamed data. More... | |
class | MemoryStream |
Reads data from or writes data to a MemoryStreamStorage This allows a completely volatile storage of data. More... | |
class | tlzwstreamcompression |
class | CompressionStreamInterface |
class | CompressionStreamAdapter |
class | libbzip_compression |
class | libbzip_decompression |
class | tanycompression |
class | tn_lzw_file_buf_stream |
class | tn_c_lzw_filestream |
struct | tcontainerindex |
class | ContainerIndexer |
class | tncontainerstream |
class | tfindfile |
Searching for files. More... | |
struct | tfindfile::FileInfo |
class | ASCIIEncodingStream |
Data written to this stream will be encoded similar to base64 and can be retrieved as a string. More... | |
class | ASCIIDecodingStream |
Reading data from an ASCII encoded String. More... | |
class | StreamCompressionFilter |
Compresses data transparently into another stream (using bzip2 compression) More... | |
class | StreamDecompressionFilter |
Deompresses data from a compressed stream (using bzip2 compression) More... | |
class | FileName |
This class handles filenames. All operations that work on filenames will be added here. More... | |
Macros | |
#define | writedata2(a) writedata ( &(a), sizeof(a) ) |
#define | readdata2(a) readdata ( &(a), sizeof(a) ) |
Typedefs | |
typedef class tncontainerstream * | pncontainerstream |
typedef tn_c_lzw_filestream | tnfilestream |
typedef tnfilestream * | pnfilestream |
Functions | |
SDL_RWops * | SDL_RWFromStream (tnstream *stream) |
ASCString | listContainer () |
int | compressrle (const void *p, void *q) |
bool | patimat (const ASCString &pat, const ASCString &str, bool forceCaseInsensitivity=false) |
checks whether the regular expression pat matches the string str . More... | |
int | checkforvaliddirectory (char *dir) |
ASCString | getnextfilenumname (const ASCString &first, const ASCString &suffix, int num=-1) |
bool | exist (const ASCString &s) |
does a file s exist (wildcards allowed) More... | |
time_t | get_filetime (const char *devicename) |
void | opencontainer (const char *wildcard) |
int | filesize (const char *name) |
void | addSearchPath (const ASCString &path) |
void | appendbackslash (char *String) |
void | appendbackslash (ASCString &String) |
char * | constructFileName (char *buf, int directoryLevel, const char *path, const char *filename) |
ASCString | constructFileName (int directoryLevel, const ASCString &path, ASCString filename) |
bool | directoryExist (const ASCString &path) |
char * | extractPath (char *buf, const char *filename) |
char * | extractFileName (char *buf, const char *filename) |
ASCString | extractFileName (const ASCString &filename) |
ASCString | extractFileName_withoutSuffix (const ASCString &filename) |
int | createDirectory (const char *name) |
int | getSearchPathNum () |
ASCString | getSearchPath (int i) |
bool | isPathRelative (const ASCString &path) |
void | convertPathDelimitters (ASCString &path) |
converts path delimitters from foreign operating systems to the ones used by the current operating system. On Linux, this function converts backslashes to slashes, on Windows vice versa More... | |
template<typename C > | |
void | writePointerContainer (const C &c, tnstream &stream) |
template<typename BaseType > | |
void | readPointerContainer (vector< BaseType * > &v, tnstream &stream) |
template<typename BaseType > | |
void | readPointerContainer (list< BaseType * > &v, tnstream &stream) |
template<typename C > | |
void | writeClassContainer (const C &c, tnstream &stream) |
template<typename C > | |
void | readClassContainer (C &c, tnstream &stream) |
template<typename C > | |
void | readClassContainerStaticConstructor (C &c, tnstream &stream) |
template<> | |
void | writeClassContainer (const vector< ASCString > &c, tnstream &stream) |
template<> | |
void | readClassContainer (vector< ASCString > &c, tnstream &stream) |
template<> | |
void | writeClassContainer (const vector< int > &c, tnstream &stream) |
template<> | |
void | readClassContainer (vector< int > &c, tnstream &stream) |
template<> | |
void | writeClassContainer (const vector< pair< int, int > > &c, tnstream &stream) |
template<> | |
void | readClassContainer (vector< pair< int, int > > &c, tnstream &stream) |
Variables | |
const int | maxFileStringSize = 10000 |
const char * | asc_configurationfile |
const int | maxfilenamelength |
const char * | containermagic |
const char * | filereadmode |
const char * | filewritemode |
const char * | filereadmodetext |
const char * | filewritemodetext |
const char | pathdelimitter |
const char * | pathdelimitterstring |
The interface for the various streams that ASC offers, like file and memory streams.
Definition in file basestrm.h.
#define readdata2 | ( | a | ) | readdata ( &(a), sizeof(a) ) |
Definition at line 649 of file basestrm.h.
Referenced by tnstream::readCharacter(), tnstream::readFloat(), tnstream::readInt(), tnstream::readUint8(), and tnstream::readWord().
#define writedata2 | ( | a | ) | writedata ( &(a), sizeof(a) ) |
Definition at line 648 of file basestrm.h.
Referenced by tnstream::writeCharacter(), tnstream::writeFloat(), tnstream::writeInt(), tnstream::writeUint8(), and tnstream::writeWord().
typedef class tncontainerstream* pncontainerstream |
Definition at line 406 of file basestrm.h.
typedef tnfilestream* pnfilestream |
Definition at line 430 of file basestrm.h.
typedef tn_c_lzw_filestream tnfilestream |
Definition at line 429 of file basestrm.h.
void addSearchPath | ( | const ASCString & | path | ) |
Definition at line 2517 of file basestrm.cpp.
References ascDirectory, constructFileName(), directoryExist(), and searchDirNum.
Referenced by initFileIO(), main(), and opencontainer().
void appendbackslash | ( | char * | String | ) |
Definition at line 2596 of file basestrm.cpp.
References pathdelimitter, and pathdelimitterstring.
Referenced by checkbi3dir(), constructFileName(), getbipath(), ConfigurationFileLocatorCore::getDefaultDirectory(), ConfigurationFileLocatorCore::getSpecialPath(), and initFileIO().
void appendbackslash | ( | ASCString & | String | ) |
Definition at line 2602 of file basestrm.cpp.
References pathdelimitter, and pathdelimitterstring.
int checkforvaliddirectory | ( | char * | dir | ) |
Definition at line 2255 of file basestrm.cpp.
References ASC_direct, closedir(), opendir(), and readdir().
int compressrle | ( | const void * | p, |
void * | q | ||
) |
Definition at line 1904 of file basestrm.cpp.
References trleheader::id, min(), trleheader::rle, trleheader::size, trleheader::x, and trleheader::y.
Referenced by tnstream::writeImage().
char* constructFileName | ( | char * | buf, |
int | directoryLevel, | ||
const char * | path, | ||
const char * | filename | ||
) |
Definition at line 873 of file basestrm.cpp.
References appendbackslash(), ascDirectory, maxFileStringSize, and pathdelimitter.
Referenced by addSearchPath(), get_filetime(), ContainerCollector::init(), locateFile(), log(), makeDirectory(), ReplayRecorder::start(), tfindfile::tfindfile(), tn_c_lzw_filestream::tn_c_lzw_filestream(), tn_file_buf_stream::tn_file_buf_stream(), ASCImageProperty::toString(), ASCImageArrayProperty::toString(), and WholeMapRenderer::writePNG().
Definition at line 954 of file basestrm.cpp.
References appendbackslash(), ascDirectory, isPathRelative(), and pathdelimitter.
void convertPathDelimitters | ( | ASCString & | path | ) |
converts path delimitters from foreign operating systems to the ones used by the current operating system. On Linux, this function converts backslashes to slashes, on Windows vice versa
Definition at line 2646 of file basestrm.cpp.
References foreignPathDelimitterString, and pathdelimitterstring.
Referenced by tfindfile::tfindfile().
int createDirectory | ( | const char * | name | ) |
Definition at line 2609 of file basestrm.cpp.
Referenced by makeDirectory().
bool directoryExist | ( | const ASCString & | path | ) |
Definition at line 2500 of file basestrm.cpp.
References closedir(), opendir(), and readdir().
Referenced by addSearchPath(), getDirectory(), and makeDirectory().
bool exist | ( | const ASCString & | s | ) |
does a file s exist (wildcards allowed)
Definition at line 2444 of file basestrm.cpp.
References tfindfile::getnextname().
Referenced by tdlgengine::addkey(), tdlgengine::addmarkedkey(), StartMultiplayerGame::Apply(), GameMap::beginTurn(), CargoDialog::CargoDialog(), checkbi3dir(), checkFileLoadability(), GameMap::endRound(), FileCache::FileCache(), getbipath(), ConfigurationFileLocatorCore::getConfigFileName(), Locale::getLocalizedFile(), DiplomacyCommand::go(), loadLocalizedMessages(), loadWave(), MailOptionsDialog::MailOptionsDialog(), mapeditorMainThread(), readgameoptions(), and UnitInfoDialog::UnitInfoDialog().
char* extractFileName | ( | char * | buf, |
const char * | filename | ||
) |
Definition at line 2564 of file basestrm.cpp.
References pathdelimitter.
Referenced by extractFileName(), extractFileName_withoutSuffix(), and ContainerCollector::init().
Definition at line 2579 of file basestrm.cpp.
References extractFileName().
Definition at line 2585 of file basestrm.cpp.
References extractFileName().
Referenced by BuildingType::runTextIO(), TerrainType::Weather::runTextIO(), ObjectType::runTextIO(), VehicleType::runTextIO(), ASCImageProperty::toString(), and ASCImageArrayProperty::toString().
char* extractPath | ( | char * | buf, |
const char * | filename | ||
) |
Definition at line 2548 of file basestrm.cpp.
References pathdelimitter.
Referenced by ContainerCollector::init(), and writegameoptions().
int filesize | ( | const char * | name | ) |
Definition at line 2489 of file basestrm.cpp.
time_t get_filetime | ( | const char * | devicename | ) |
Definition at line 2468 of file basestrm.cpp.
References constructFileName(), FileLocation::container, FileLocation::directoryLevel, FileLocation::found, locateFile(), and maxFileStringSize.
Referenced by process_ASC_map(), and process_BI_map().
Definition at line 2418 of file basestrm.cpp.
References tfindfile::getnextname(), and ASCString::toString().
Referenced by executeUserAction().
ASCString getSearchPath | ( | int | i | ) |
Definition at line 2539 of file basestrm.cpp.
int getSearchPathNum | ( | ) |
Definition at line 2534 of file basestrm.cpp.
bool isPathRelative | ( | const ASCString & | path | ) |
Definition at line 934 of file basestrm.cpp.
References pathdelimitter.
Referenced by constructFileName(), ConfigurationFileLocatorCore::getConfigFileName(), and initFileIO().
ASCString listContainer | ( | ) |
Definition at line 1052 of file basestrm.cpp.
References ContainerCollector::listContainer().
Referenced by loadAllData(), and showSearchPath().
void opencontainer | ( | const char * | wildcard | ) |
Definition at line 2457 of file basestrm.cpp.
References addSearchPath(), ContainerCollector::init(), and searchDirNum.
Referenced by initFileIO().
checks whether the regular expression pat matches the string str .
This functions only understands dos/windows style wildcards: * and ?
Definition at line 2024 of file basestrm.cpp.
References patimat().
void readClassContainer | ( | C & | c, |
tnstream & | stream | ||
) |
Definition at line 752 of file basestrm.h.
References tnstream::getLocation(), and tnstream::readInt().
Referenced by AutoProgressBar::AutoProgressBar(), Poly_gon::read(), VersionIdentifier::read(), MusicPlayList::read(), Package::read(), TechDependency::read(), TerrainType::read(), Technology::read(), ObjectType::read(), ItemFiltrationSystem::ItemFilter::read(), ContainerBaseType::read(), Bi3MapTranslationTable::read(), VehicleType::read(), Research::read_struct(), InternalAmmoTransferCommand::readData(), DirectResearchCommand::readData(), DiplomacyCommand::readData(), DiscoverResources::readData(), and FieldAddressing::readMapModificationData().
Definition at line 796 of file basestrm.h.
|
inline |
Definition at line 817 of file basestrm.h.
|
inline |
Definition at line 840 of file basestrm.h.
void readClassContainerStaticConstructor | ( | C & | c, |
tnstream & | stream | ||
) |
Definition at line 769 of file basestrm.h.
References tnstream::getLocation(), and tnstream::readInt().
Referenced by MoveUnit::readData().
void readPointerContainer | ( | vector< BaseType * > & | v, |
tnstream & | stream | ||
) |
Definition at line 714 of file basestrm.h.
References tnstream::readInt().
Referenced by PackageRepository::read(), PlayListLoader::read(), BI3TranslationTableLoader::read(), and ItemFiltrationSystem::DataLoader::read().
void readPointerContainer | ( | list< BaseType * > & | v, |
tnstream & | stream | ||
) |
Definition at line 727 of file basestrm.h.
References tnstream::readInt().
SDL_RWops* SDL_RWFromStream | ( | tnstream * | stream | ) |
Definition at line 693 of file basestrm.cpp.
References stream_close(), stream_read(), and stream_seek().
Referenced by getFieldMask(), IconRepository::getIcon(), loadASCFieldImage(), loadASCFieldImageArray(), loadWave(), Surface::readImageFile(), ASC_PG_App::setIcon(), and StartupScreen::StartupScreen().
void writeClassContainer | ( | const C & | c, |
tnstream & | stream | ||
) |
Definition at line 742 of file basestrm.h.
References tnstream::writeInt().
Referenced by AutoProgressBar::close(), Poly_gon::write(), VersionIdentifier::write(), MusicPlayList::write(), Package::write(), TechDependency::write(), TerrainType::write(), Technology::write(), ObjectType::write(), ItemFiltrationSystem::ItemFilter::write(), Research::write(), ContainerBaseType::write(), FileCache::write(), Bi3MapTranslationTable::write(), VehicleType::write(), Vehicle::write(), InternalAmmoTransferCommand::writeData(), DirectResearchCommand::writeData(), MoveUnit::writeData(), DiplomacyCommand::writeData(), DiscoverResources::writeData(), and FieldAddressing::writeMapModificationData().
Definition at line 785 of file basestrm.h.
|
inline |
Definition at line 806 of file basestrm.h.
|
inline |
Definition at line 827 of file basestrm.h.
void writePointerContainer | ( | const C & | c, |
tnstream & | stream | ||
) |
Definition at line 704 of file basestrm.h.
References tnstream::writeInt().
Referenced by PackageRepository::write(), PlayListLoader::write(), BI3TranslationTableLoader::write(), and ItemFiltrationSystem::DataLoader::write().
const char* asc_configurationfile |
Definition at line 29 of file unix/fileio.cpp.
Referenced by ConfigurationFileLocatorCore::getConfigFileName().
const char* containermagic |
Definition at line 86 of file basestrm.cpp.
Referenced by tncontainerstream::tncontainerstream().
const char* filereadmode |
Definition at line 19 of file unix/fileio.cpp.
Referenced by tn_file_buf_stream::tn_file_buf_stream().
const char* filereadmodetext |
Definition at line 21 of file unix/fileio.cpp.
const char* filewritemode |
Definition at line 20 of file unix/fileio.cpp.
Referenced by tn_file_buf_stream::tn_file_buf_stream().
const char* filewritemodetext |
Definition at line 22 of file unix/fileio.cpp.
const int maxfilenamelength |
Definition at line 28 of file unix/fileio.cpp.
const int maxFileStringSize = 10000 |
Definition at line 62 of file basestrm.h.
Referenced by constructFileName(), get_filetime(), and ContainerCollector::init().
const char pathdelimitter |
Definition at line 23 of file unix/fileio.cpp.
Referenced by appendbackslash(), constructFileName(), extractFileName(), extractPath(), isPathRelative(), tfindfile::tfindfile(), and tn_file_buf_stream::tn_file_buf_stream().
const char* pathdelimitterstring |
Definition at line 24 of file unix/fileio.cpp.
Referenced by appendbackslash(), checkbi3dir(), convertPathDelimitters(), getbipath(), tloadBImap::LoadFromFile(), MusicPlayList::reset(), FileTransfer::send(), FileName::suffix(), and tfindfile::tfindfile().