BALL 1.5.0
Loading...
Searching...
No Matches

#include <BALL/FORMAT/resourceFile.h>

Inheritance diagram for BALL::ResourceFile:
BALL::File

Public Types

Type Definition
typedef ResourceEntry Entry
Public Types inherited from BALL::File
typedef std::ios::openmode OpenMode
enum  Transformation { TRANSFORMATION__EXEC = 1 , TRANSFORMATION__FILTER = 2 , TRANSFORMATION__URL = 3 }
enum  Type {
  TYPE__UNKNOWN = 0 , TYPE__DIRECTORY = 1 , TYPE__CHAR_SPECIAL_FILE = 2 , TYPE__BLOCK_SPECIAL_FILE = 3 ,
  TYPE__REGULAR_FILE = 4 , TYPE__SYMBOLIC_LINK = 5 , TYPE__SOCKET = 6 , TYPE__FIFO_SPECIAL_FILE = 7
}

Public Member Functions

Constructors and Destructors
 ResourceFile ()
 ResourceFile (const String &name)
virtual ~ResourceFile ()
void destroy ()
virtual void clear ()
Accessors
Size getSize () const
EntrygetRoot ()
const EntrygetRoot () const
EntrygetEntry (const String &key_path)
const EntrygetEntry (const String &key_path) const
StringgetValue (const String &key_path)
const StringgetValue (const String &key_path) const
Entryinsert (const String &key_path, const String &name)
bool removeKey (const String &key_path)
Attributes
bool operator== (const ResourceFile &entry) const
bool operator!= (const ResourceFile &entry) const
bool hasKey (const String &key_path) const
bool isEmpty () const
Debugging and Diagnostics
bool isValid () const
void dump (std::ostream &s=std::cout, Size depth=0) const
Public Member Functions inherited from BALL::File
 File ()
 File (const String &name, OpenMode open_mode=std::ios::in)
virtual ~File ()
bool isValid () const
bool open (const String &name, File::OpenMode open_mode=std::ios::in)
bool reopen ()
bool reopen (File::OpenMode open_mode)
void close ()
const StringgetName () const
void setName (const String &name)
const StringgetOriginalName () const
Size getSize ()
File::OpenMode getOpenMode () const
Type getType (bool trace_link) const
bool copyTo (const String &destination_name, Size buffer_size=4096)
bool moveTo (const String &destination_name)
bool remove ()
bool renameTo (const String &new_path)
bool truncate (Size size=0)
std::fstream & getFileStream ()
TransformationManagergetTransformationManager ()
const TransformationManagergetTransformationManager () const
bool operator== (const File &file) const
bool operator!= (const File &file) const
bool isOpen () const
bool isClosed () const
bool isAccessible () const
bool isCanonized () const
bool isReadable () const
bool isWritable () const
bool isExecutable () const

Static Public Attributes

Constants
static char ENTRY_BEGIN
static char ENTRY_END
static char SEPARATOR
Static Public Attributes inherited from BALL::File
static const OpenMode MODE_IN
 Open for input (default).
static const OpenMode MODE_OUT
 Open for output.
static const OpenMode MODE_APP
 Append. Seek to end before each write operation.
static const OpenMode MODE_BINARY
 Binary mode.
static const OpenMode MODE_ATE
 Seek to end directly after opening.
static const OpenMode MODE_TRUNC
 Truncate an existing file.
static const String TRANSFORMATION_EXEC_PREFIX
 Prefix for filenames that are created through the execution of commands "exec:".
static const String TRANSFORMATION_FILE_PREFIX
 Prefix for files (to mimick URL-like behavior) "file:".
static const String TRANSFORMATION_FTP_PREFIX
 Prefix for FTP-transfers "ftp://".
static const String TRANSFORMATION_HTTP_PREFIX
 Prefix for HTTP-transfer "http://".

Friends

Storers
std::istream & operator>> (std::istream &s, ResourceFile &resource_file)

Processor and Visitor related methods

typedef Entry::Iterator Iterator
typedef Entry::ConstIterator ConstIterator
void host (Visitor< ResourceFile > &visitor)
bool apply (UnaryProcessor< Entry > &processor)
Iterator begin ()
Iterator end ()
ConstIterator begin () const
ConstIterator end () const
static bool applyChildren (Entry &entry, UnaryProcessor< Entry > &processor)

File-related methods.

bool open (const String &name)
void close ()
void saveAs (const String &name)
void save (const Entry &entry)
void save ()
static void saveAs (const Entry &entry, const String &name)

Additional Inherited Members

static Size getSize (String name)
static Type getType (String name, bool trace_link)
static bool copy (String source_name, String destination_name, Size buffer_size=4096)
static bool move (const String &source_name, const String &destination_name)
static bool remove (String name)
static bool rename (String old_path, String new_path)
static bool truncate (String path, Size size=0)
static bool createTemporaryFilename (String &temporary, const String &suffix=".TMP")
static void enableTransformation (Transformation transformation)
static void disableTransformation (Transformation transformation)
static bool isTransformationEnabled (Transformation transformation)
static void registerTransformation (const String &pattern, const String &exec)
static void unregisterTransformation (const String &pattern)
static bool isAccessible (String name)
static bool isReadable (String name)
static bool isWritable (String name)
static bool isExecutable (String name)
String name_
String original_name_
OpenMode open_mode_
bool is_open_
bool is_temporary_
static HashSet< Stringcreated_temp_filenames_
static TransformationManager transformation_manager_
static Size transformation_methods_

Detailed Description

Resource file class

Definition at line 581 of file resourceFile.h.

Member Typedef Documentation

◆ ConstIterator

◆ Entry

Definition at line 609 of file resourceFile.h.

◆ Iterator

Definition at line 773 of file resourceFile.h.

Constructor & Destructor Documentation

◆ ResourceFile() [1/2]

BALL::ResourceFile::ResourceFile ( )

Default constructor

◆ ResourceFile() [2/2]

BALL::ResourceFile::ResourceFile ( const String & name)

Detailed constructor.

Exceptions
Exception::FileNotFoundif the file could not be opened

◆ ~ResourceFile()

virtual BALL::ResourceFile::~ResourceFile ( )
virtual

Destructor

Member Function Documentation

◆ apply()

bool BALL::ResourceFile::apply ( UnaryProcessor< Entry > & processor)

◆ applyChildren()

bool BALL::ResourceFile::applyChildren ( Entry & entry,
UnaryProcessor< Entry > & processor )
static

◆ begin() [1/2]

Iterator BALL::ResourceFile::begin ( )
inline

Definition at line 775 of file resourceFile.h.

◆ begin() [2/2]

ConstIterator BALL::ResourceFile::begin ( ) const
inline

Definition at line 788 of file resourceFile.h.

◆ clear()

virtual void BALL::ResourceFile::clear ( )
virtual

Clear method

Reimplemented from BALL::File.

◆ close()

void BALL::ResourceFile::close ( )

◆ destroy()

void BALL::ResourceFile::destroy ( )

Destroy method

◆ dump()

void BALL::ResourceFile::dump ( std::ostream & s = std::cout,
Size depth = 0 ) const

◆ end() [1/2]

Iterator BALL::ResourceFile::end ( )
inline

Definition at line 780 of file resourceFile.h.

◆ end() [2/2]

ConstIterator BALL::ResourceFile::end ( ) const
inline

Definition at line 793 of file resourceFile.h.

◆ getEntry() [1/2]

Entry * BALL::ResourceFile::getEntry ( const String & key_path)

◆ getEntry() [2/2]

const Entry * BALL::ResourceFile::getEntry ( const String & key_path) const

◆ getRoot() [1/2]

Entry & BALL::ResourceFile::getRoot ( )

◆ getRoot() [2/2]

const Entry & BALL::ResourceFile::getRoot ( ) const

◆ getSize()

Size BALL::ResourceFile::getSize ( ) const

◆ getValue() [1/2]

String * BALL::ResourceFile::getValue ( const String & key_path)

◆ getValue() [2/2]

const String * BALL::ResourceFile::getValue ( const String & key_path) const

◆ hasKey()

bool BALL::ResourceFile::hasKey ( const String & key_path) const

◆ host()

void BALL::ResourceFile::host ( Visitor< ResourceFile > & visitor)

◆ insert()

Entry * BALL::ResourceFile::insert ( const String & key_path,
const String & name )

◆ isEmpty()

bool BALL::ResourceFile::isEmpty ( ) const

◆ isValid()

bool BALL::ResourceFile::isValid ( ) const

◆ open()

bool BALL::ResourceFile::open ( const String & name)

◆ operator!=()

bool BALL::ResourceFile::operator!= ( const ResourceFile & entry) const

Inequality operator

◆ operator==()

bool BALL::ResourceFile::operator== ( const ResourceFile & entry) const

Equality operator

◆ removeKey()

bool BALL::ResourceFile::removeKey ( const String & key_path)

◆ save() [1/2]

void BALL::ResourceFile::save ( )

◆ save() [2/2]

void BALL::ResourceFile::save ( const Entry & entry)

◆ saveAs() [1/2]

void BALL::ResourceFile::saveAs ( const Entry & entry,
const String & name )
static

◆ saveAs() [2/2]

void BALL::ResourceFile::saveAs ( const String & name)

◆ operator>>

std::istream & operator>> ( std::istream & s,
ResourceFile & resource_file )
friend

Member Data Documentation

◆ ENTRY_BEGIN

char BALL::ResourceFile::ENTRY_BEGIN
static

Definition at line 592 of file resourceFile.h.

◆ ENTRY_END

char BALL::ResourceFile::ENTRY_END
static

Definition at line 596 of file resourceFile.h.

◆ SEPARATOR

char BALL::ResourceFile::SEPARATOR
static

Definition at line 600 of file resourceFile.h.