libarxx - Advanced Resource files in C++ Copyright (C) 2005 Hagen Möbius
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
Classes | |
class | ArchiveHeader |
The representation of an archive's header in a file. More... | |
class | ItemHeader |
The memory representation of a single item. More... | |
class | DefaultItemFactory |
The standard ItemFactory created by every library that has no other ItemFactory set. More... | |
class | LocalArchiveChannel |
An class to fetch data from a local ARX archive file. More... | |
class | ReferenceImplementation |
The real Arxx::Item reference used by Arxx::Reference to implement shared references. More... | |
class | Archive |
The Arxx::Archive class is a container for an arbitrary amount of Arxx::Item objects. More... | |
class | Buffer |
The core class of the Buffer. More... | |
class | BufferReader |
Implements a convenient output interface for Arxx::Buffer. More... | |
class | BufferWriter |
Implements a convenient input interface for Arxx::Buffer. More... | |
class | id_not_unique |
An exception class indicating that a given ID is not unique. More... | |
class | zlib_error |
An exception class indicating that the zlib library reports an error. More... | |
class | bzlib_error |
An exception class indicating that the bzlib library reports an error. More... | |
class | bad_file_format |
An exception class indicating an invalid file format in an ARX archive. More... | |
class | file_error |
An exception class indicating that an error occured while reading or writing from or to a file. More... | |
class | Data |
A buffer with compression, decompression and external data referencing features. More... | |
class | DataChannel |
An abstract class defining the interface for data sources. More... | |
class | DataRepository |
This class is a global player helping Arxx::Item and Arxx::Archive objectst to fetch their data. More... | |
class | Item |
The Arxx::Item is the basic class for any data storaging. More... | |
class | ItemFactory |
An abstract definition of an item factory. More... | |
class | Context |
Gathers information about a merging process. More... | |
class | Rule |
A class representing a matching rule in the merging process. More... | |
class | Reference |
Instances of this class represent items either by unique ID or if known by pointer. More... | |
class | Structure |
The structure of a ARX archive is saved inside these objects. More... | |
class | URI |
A URI class. More... | |
Typedefs | |
typedef u_int32_t | u4byte |
A type that should always be mapped to an unsigned 4 byte-long value. | |
typedef u_int8_t | u1byte |
A type that should always be mapped to an unsigned 1 byte-long value. | |
Enumerations | |
enum | FetchStatus { FETCHED = 0, UNFETCHED = 1, CONNECTING = 2, LOGGINGIN = 3, LOGGINGOUT = 4, DISCONNECTING = 5, TRANSFERING = 6, REQUESTING = 7, HOSTUNREACHABLE = 8, LOGINNOTALLOWED = 9, SERVICEUNAVAILABLE = 10, DATANOTFOUND = 11, FETCHING = 12, RESOLVINGHOST = 13, SYSTEMERROR = 14 } |
enum | Action { ADD, REPLACE, DROP, PASS } |
Enumeration of the possible actions a rule can induce. More... | |
Functions | |
std::ostream & | operator<< (std::ostream &OStream, Arxx::ArchiveHeader &ArchiveHeader) |
The output operator for a Arxx::LibraryHeader struct. | |
std::ostream & | operator<< (std::ostream &OStream, Arxx::ItemHeader &ItemHeader) |
The output operator for a Arxx::ItemHeaderV1000 struct. | |
std::istream & | operator>> (std::istream &IStream, Arxx::ArchiveHeader &ArchiveHeader) |
The input operator for a Arxx::LibraryHeader struct. | |
std::istream & | operator>> (std::istream &IStream, Arxx::ItemHeader &ItemHeader) |
The input operator for a Arxx::ItemHeaderV1000 struct. | |
std::ostream & | operator<< (std::ostream &OStream, const Arxx::Buffer &Buffer) |
An output operator for std::ostream which uses the Buffers::Buffer::Ouput function. | |
Arxx::BufferReader & | operator>> (Arxx::BufferReader &BufferReader, std::string &sString) |
A helper function for reading a string from a buffer. | |
Arxx::BufferReader & | operator>> (Arxx::BufferReader &BufferReader, float &fValue) |
A helper function for reading float values from a buffer. | |
Arxx::BufferReader & | operator>> (Arxx::BufferReader &BufferReader, Arxx::u4byte &u4Value) |
A helper function for reading u4byte values from a buffer. | |
Arxx::BufferReader & | operator>> (Arxx::BufferReader &BufferReader, bool &bValue) |
A helper function for reading bool objects from a buffer. | |
Arxx::BufferWriter & | operator<< (Arxx::BufferWriter &BufferWriter, const std::string &sString) |
A helper function for storing a std::string instance in a buffer. | |
Arxx::BufferWriter & | operator<< (Arxx::BufferWriter &BufferWriter, const char *pcString) |
A helper function for storing a C string in a buffer. | |
Arxx::BufferWriter & | operator<< (Arxx::BufferWriter &BufferWriter, const float &fValue) |
A helper function for storing float numbers in a buffer. | |
Arxx::BufferWriter & | operator<< (Arxx::BufferWriter &BufferWriter, const Arxx::u4byte &u4Value) |
A helper function for storing Arxx::u4byte objects in a buffer. | |
Arxx::BufferWriter & | operator<< (Arxx::BufferWriter &BufferWriter, const bool &bValue) |
A helper function for storing bool objects in a buffer. | |
Arxx::BufferWriter & | operator<< (Arxx::BufferWriter &BufferWriter, const char &cValue) |
A helper function for storing char objects in a buffer. | |
Arxx::BufferWriter & | operator<< (Arxx::BufferWriter &BufferWriter, const std::pair< Arxx::Buffer::size_type, std::istream * > &Stream) |
A helper function that allows filling a buffer from an std::istream. | |
Arxx::Buffer & | operator<< (Arxx::Buffer &Buffer, const Arxx::Structure &Structure) |
Convenience function that streams the structural information into a Arxx::Buffer. | |
std::ostream & | operator<< (std::ostream &OStream, const Arxx::URI &URI) |
Variables | |
const u4byte | g_u4InvalidID = 0xFFFFFFFF |
A libarxx wide constant that always stands for invalid or not specified unique or non-unique IDs. | |
DataRepository | Repository |
typedef u_int32_t Arxx::u4byte |
A type that should always be mapped to an unsigned 4 byte-long value.
If your architecture trips here, email the AUTHOR.
typedef u_int8_t Arxx::u1byte |
A type that should always be mapped to an unsigned 1 byte-long value.
If your architecture trips here, email the AUTHOR.
enum Arxx::FetchStatus |
enum Arxx::Action |
Enumeration of the possible actions a rule can induce.
Whenever a Arxx::Rule is matched during a merging process the rule's Arxx::Rule::bMatch() function will be called to determine the action theat is to be taken. The result of that function should be one of the values:
ADD |
Signifies that the current item is to be added to the target Archive.
The item will be unregistered from the source library and appended to the Arxx::Context::m_AddingItems vector so it can be registered at the target library after all matchings have been performed. |
REPLACE |
Replace the item with the same ID in the target Archive.
The item that is to be replaced in the target librarywill be unregistered via Arxx::Archive::vUnregisterItem and the current item will be registered in the taget library. |
DROP | |
PASS |
std::ostream& Arxx::operator<< | ( | std::ostream & | OStream, | |
Arxx::ArchiveHeader & | ArchiveHeader | |||
) | [inline] |
The output operator for a Arxx::LibraryHeader struct.
This function takes care of the correct output of a LibraryHeader to any kind of std::ostream.
std::ostream& Arxx::operator<< | ( | std::ostream & | OStream, | |
Arxx::ItemHeader & | ItemHeader | |||
) | [inline] |
The output operator for a Arxx::ItemHeaderV1000 struct.
This function takes care of the correct output of a ItemHeaderV1000 to any kind of std::ostream.
std::istream& Arxx::operator>> | ( | std::istream & | IStream, | |
Arxx::ArchiveHeader & | ArchiveHeader | |||
) | [inline] |
The input operator for a Arxx::LibraryHeader struct.
This function takes care of the correct reading of a LibraryHeader from any kind of std::istream.
std::istream& Arxx::operator>> | ( | std::istream & | IStream, | |
Arxx::ItemHeader & | ItemHeader | |||
) | [inline] |
The input operator for a Arxx::ItemHeaderV1000 struct.
This function takes care of the correct reading of a ItemHeaderV1000 from any kind of std::istream.
std::ostream & Arxx::operator<< | ( | std::ostream & | OStream, | |
const Arxx::Buffer & | Buffer | |||
) |
An output operator for std::ostream which uses the Buffers::Buffer::Ouput function.
This operator is implemented for your convinience and allows you to write:
std::cout << Buffer;
Arxx::BufferReader & Arxx::operator>> | ( | Arxx::BufferReader & | BufferReader, | |
std::string & | sString | |||
) |
A helper function for reading a string from a buffer.
BufferReader | The BufferReader from which the string will be read. | |
sString | A std::string which will be filled with the string from the buffer. |
Arxx::BufferReader & Arxx::operator>> | ( | Arxx::BufferReader & | BufferReader, | |
float & | fValue | |||
) |
A helper function for reading float values from a buffer.
BufferReader | The BufferReader from which the float value will be read. | |
fValue | The target for the float value that is to be read. |
Arxx::BufferReader & Arxx::operator>> | ( | Arxx::BufferReader & | BufferReader, | |
Arxx::u4byte & | u4Value | |||
) |
A helper function for reading u4byte values from a buffer.
BufferReader | The BufferReader from which the u4byte value will be read. | |
u4Value | The target for the u4byte value that is to be read. |
Arxx::BufferReader & Arxx::operator>> | ( | Arxx::BufferReader & | BufferReader, | |
bool & | bValue | |||
) |
A helper function for reading bool objects from a buffer.
BufferReader | The BufferReader from which the bool will be read. | |
bValue | The target for the bool value that is to be read. |
Arxx::BufferWriter & Arxx::operator<< | ( | Arxx::BufferWriter & | BufferWriter, | |
const std::string & | sString | |||
) |
A helper function for storing a std::string instance in a buffer.
BufferWriter | The buffer in which the string will be stored. | |
sString | The string which is about to be stored. |
Arxx::BufferWriter & Arxx::operator<< | ( | Arxx::BufferWriter & | BufferWriter, | |
const char * | pcString | |||
) |
A helper function for storing a C string in a buffer.
BufferWriter | The buffer in which the C string will be stored. | |
pcString | The C string which is about to be stored. |
The function uses strlen(3) to determine the length of the string.
Arxx::BufferWriter & Arxx::operator<< | ( | Arxx::BufferWriter & | BufferWriter, | |
const float & | fValue | |||
) |
A helper function for storing float numbers in a buffer.
BufferWriter | The buffer in which the float number will be stored. | |
fValue | The float value which is to be stored. |
Arxx::BufferWriter & Arxx::operator<< | ( | Arxx::BufferWriter & | BufferWriter, | |
const Arxx::u4byte & | u4Value | |||
) |
A helper function for storing Arxx::u4byte objects in a buffer.
BufferWriter | The buffer in which the Arxx::u4byte will be stored. | |
u4Value | The Arxx::u4byte value which is to be stored. |
Arxx::BufferWriter & Arxx::operator<< | ( | Arxx::BufferWriter & | BufferWriter, | |
const bool & | bValue | |||
) |
A helper function for storing bool objects in a buffer.
BufferWriter | The buffer in which the bool will be stored. | |
bValue | The bool value which is to be stored. |
Arxx::BufferWriter & Arxx::operator<< | ( | Arxx::BufferWriter & | BufferWriter, | |
const char & | cValue | |||
) |
A helper function for storing char objects in a buffer.
BufferWriter | The buffer in which the bool will be stored. | |
cValue | The char value which is to be stored. |
Arxx::BufferWriter & Arxx::operator<< | ( | Arxx::BufferWriter & | BufferWriter, | |
const std::pair< Arxx::Buffer::size_type, std::istream * > & | Stream | |||
) |
A helper function that allows filling a buffer from an std::istream.
BufferWriter | The buffer which will be filled from the content of the istream. | |
Stream | A std::pair which's first component describes the amount of bytes to be read from the stream specified in its second component. |
Arxx::Buffer & Arxx::operator<< | ( | Arxx::Buffer & | Buffer, | |
const Arxx::Structure & | Structure | |||
) |
Convenience function that streams the structural information into a Arxx::Buffer.
std::ostream & Arxx::operator<< | ( | std::ostream & | OStream, | |
const Arxx::URI & | URI | |||
) |
const u4byte Arxx::g_u4InvalidID = 0xFFFFFFFF |
A libarxx wide constant that always stands for invalid or not specified unique or non-unique IDs.
This value mainly serves as a return value. If you call a function that returns an Item's unique ID this value is sematically the same as if the Arxx::Item pointer was returned with 0.
libarxx - Advanced Resource files in C++ Copyright (C) 2005 Hagen Möbius
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.