OGRE  1.9
Object-Oriented Graphics Rendering Engine
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
Ogre::FileSystemArchive Class Reference

Specialisation of the Archive class to allow reading of files from filesystem folders / directories. More...

#include <OgreFileSystem.h>

+ Inheritance diagram for Ogre::FileSystemArchive:
+ Collaboration diagram for Ogre::FileSystemArchive:

Public Member Functions

 FileSystemArchive (const String &name, const String &archType, bool readOnly)
 
 ~FileSystemArchive ()
 
DataStreamPtr create (const String &filename) const
 Create a new file (or overwrite one already there). More...
 
bool exists (const String &filename)
 Find out if the named file exists (note: fully qualified filename required) More...
 
StringVectorPtr find (const String &pattern, bool recursive=true, bool dirs=false)
 Find all file or directory names matching a given pattern in this archive. More...
 
FileInfoListPtr findFileInfo (const String &pattern, bool recursive=true, bool dirs=false) const
 Find all files or directories matching a given pattern in this archive and get some detailed information about them. More...
 
time_t getModifiedTime (const String &filename)
 Retrieve the modification time of a given file. More...
 
const StringgetName (void) const
 Get the name of this archive. More...
 
const StringgetType (void) const
 Return the type code of this Archive. More...
 
bool isCaseSensitive (void) const
 Returns whether this archive is case sensitive in the way it matches files. More...
 
virtual bool isReadOnly () const
 Reports whether this Archive is read-only, or whether the contents can be updated. More...
 
StringVectorPtr list (bool recursive=true, bool dirs=false)
 List all file names in the archive. More...
 
FileInfoListPtr listFileInfo (bool recursive=true, bool dirs=false)
 List all files in the archive with accompanying information. More...
 
void load ()
 Loads the archive. More...
 
DataStreamPtr open (const String &filename, bool readOnly=true) const
 Open a stream on a given file. More...
 
void operator delete (void *ptr)
 
void operator delete (void *ptr, void *)
 
void operator delete (void *ptr, const char *, int, const char *)
 
void operator delete[] (void *ptr)
 
void operator delete[] (void *ptr, const char *, int, const char *)
 
void * operator new (size_t sz, const char *file, int line, const char *func)
 operator new, with debug line info More...
 
void * operator new (size_t sz)
 
void * operator new (size_t sz, void *ptr)
 placement operator new More...
 
void * operator new[] (size_t sz, const char *file, int line, const char *func)
 array operator new, with debug line info More...
 
void * operator new[] (size_t sz)
 
void remove (const String &filename) const
 Delete a named file. More...
 
void unload ()
 Unloads the archive. More...
 

Static Public Member Functions

static bool getIgnoreHidden ()
 Get whether hidden files are ignored during filesystem enumeration. More...
 
static void setIgnoreHidden (bool ignore)
 Set whether filesystem enumeration will include hidden files or not. More...
 

Static Public Attributes

static bool msIgnoreHidden
 

Protected Member Functions

void findFiles (const String &pattern, bool recursive, bool dirs, StringVector *simpleList, FileInfoList *detailList) const
 Utility method to retrieve all files in a directory matching pattern. More...
 

Protected Attributes

String mName
 Archive name. More...
 
bool mReadOnly
 Read-only flag. More...
 
String mType
 Archive type code. More...
 
 OGRE_AUTO_MUTEX
 

Detailed Description

Specialisation of the Archive class to allow reading of files from filesystem folders / directories.

Definition at line 49 of file OgreFileSystem.h.

Constructor & Destructor Documentation

Ogre::FileSystemArchive::FileSystemArchive ( const String name,
const String archType,
bool  readOnly 
)
Ogre::FileSystemArchive::~FileSystemArchive ( )

Member Function Documentation

DataStreamPtr Ogre::FileSystemArchive::create ( const String filename) const
virtual

Create a new file (or overwrite one already there).

Note
If the archive is read-only then this method will fail.
Parameters
filenameThe fully qualified name of the file
Returns
A shared pointer to a DataStream which can be used to read / write the file.

Reimplemented from Ogre::Archive.

bool Ogre::FileSystemArchive::exists ( const String filename)
virtual

Find out if the named file exists (note: fully qualified filename required)

Implements Ogre::Archive.

StringVectorPtr Ogre::FileSystemArchive::find ( const String pattern,
bool  recursive = true,
bool  dirs = false 
)
virtual

Find all file or directory names matching a given pattern in this archive.

Note
This method only returns filenames, you can also retrieve other information using findFileInfo.
Parameters
patternThe pattern to search for; wildcards (*) are allowed
recursiveWhether all paths of the archive are searched (if the archive has a concept of that)
dirsSet to true if you want the directories to be listed instead of files
Returns
A list of filenames matching the criteria, all are fully qualified

Implements Ogre::Archive.

FileInfoListPtr Ogre::FileSystemArchive::findFileInfo ( const String pattern,
bool  recursive = true,
bool  dirs = false 
) const
virtual

Find all files or directories matching a given pattern in this archive and get some detailed information about them.

Parameters
patternThe pattern to search for; wildcards (*) are allowed
recursiveWhether all paths of the archive are searched (if the archive has a concept of that)
dirsSet to true if you want the directories to be listed instead of files
Returns
A list of file information structures for all files matching the criteria.

Implements Ogre::Archive.

void Ogre::FileSystemArchive::findFiles ( const String pattern,
bool  recursive,
bool  dirs,
StringVector simpleList,
FileInfoList detailList 
) const
protected

Utility method to retrieve all files in a directory matching pattern.

Parameters
patternFile pattern.
recursiveWhether to cascade down directories.
dirsSet to true if you want the directories to be listed instead of files.
simpleListPopulated if retrieving a simple list.
detailListPopulated if retrieving a detailed list.
static bool Ogre::FileSystemArchive::getIgnoreHidden ( )
inlinestatic

Get whether hidden files are ignored during filesystem enumeration.

Definition at line 118 of file OgreFileSystem.h.

time_t Ogre::FileSystemArchive::getModifiedTime ( const String filename)
virtual

Retrieve the modification time of a given file.

Implements Ogre::Archive.

const String& Ogre::Archive::getName ( void  ) const
inlineinherited

Get the name of this archive.

Definition at line 110 of file OgreArchive.h.

const String& Ogre::Archive::getType ( void  ) const
inlineinherited

Return the type code of this Archive.

Definition at line 233 of file OgreArchive.h.

bool Ogre::FileSystemArchive::isCaseSensitive ( void  ) const
virtual

Returns whether this archive is case sensitive in the way it matches files.

Implements Ogre::Archive.

virtual bool Ogre::Archive::isReadOnly ( ) const
inlinevirtualinherited

Reports whether this Archive is read-only, or whether the contents can be updated.

Definition at line 134 of file OgreArchive.h.

StringVectorPtr Ogre::FileSystemArchive::list ( bool  recursive = true,
bool  dirs = false 
)
virtual

List all file names in the archive.

Note
This method only returns filenames, you can also retrieve other information using listFileInfo.
Parameters
recursiveWhether all paths of the archive are searched (if the archive has a concept of that)
dirsSet to true if you want the directories to be listed instead of files
Returns
A list of filenames matching the criteria, all are fully qualified

Implements Ogre::Archive.

FileInfoListPtr Ogre::FileSystemArchive::listFileInfo ( bool  recursive = true,
bool  dirs = false 
)
virtual

List all files in the archive with accompanying information.

Parameters
recursiveWhether all paths of the archive are searched (if the archive has a concept of that)
dirsSet to true if you want the directories to be listed instead of files
Returns
A list of structures detailing quite a lot of information about all the files in the archive.

Implements Ogre::Archive.

void Ogre::FileSystemArchive::load ( )
virtual

Loads the archive.

Remarks
This initializes all the internal data of the class.
Warning
Do not call this function directly, it is meant to be used only by the ArchiveManager class.

Implements Ogre::Archive.

DataStreamPtr Ogre::FileSystemArchive::open ( const String filename,
bool  readOnly = true 
) const
virtual

Open a stream on a given file.

Note
There is no equivalent 'close' method; the returned stream controls the lifecycle of this file operation.
Parameters
filenameThe fully qualified name of the file
readOnlyWhether to open the file in read-only mode or not (note, if the archive is read-only then this cannot be set to false)
Returns
A shared pointer to a DataStream which can be used to read / write the file. If the file is not present, returns a null shared pointer.

Implements Ogre::Archive.

template<class Alloc >
void Ogre::AllocatedObject< Alloc >::operator delete ( void *  ptr)
inlineinherited

Definition at line 96 of file OgreMemoryAllocatedObject.h.

template<class Alloc >
void Ogre::AllocatedObject< Alloc >::operator delete ( void *  ptr,
void *   
)
inlineinherited

Definition at line 102 of file OgreMemoryAllocatedObject.h.

template<class Alloc >
void Ogre::AllocatedObject< Alloc >::operator delete ( void *  ptr,
const char *  ,
int  ,
const char *   
)
inlineinherited

Definition at line 108 of file OgreMemoryAllocatedObject.h.

template<class Alloc >
void Ogre::AllocatedObject< Alloc >::operator delete[] ( void *  ptr)
inlineinherited

Definition at line 113 of file OgreMemoryAllocatedObject.h.

template<class Alloc >
void Ogre::AllocatedObject< Alloc >::operator delete[] ( void *  ptr,
const char *  ,
int  ,
const char *   
)
inlineinherited

Definition at line 119 of file OgreMemoryAllocatedObject.h.

template<class Alloc >
void* Ogre::AllocatedObject< Alloc >::operator new ( size_t  sz,
const char *  file,
int  line,
const char *  func 
)
inlineinherited

operator new, with debug line info

Definition at line 68 of file OgreMemoryAllocatedObject.h.

template<class Alloc >
void* Ogre::AllocatedObject< Alloc >::operator new ( size_t  sz)
inlineinherited

Definition at line 73 of file OgreMemoryAllocatedObject.h.

template<class Alloc >
void* Ogre::AllocatedObject< Alloc >::operator new ( size_t  sz,
void *  ptr 
)
inlineinherited

placement operator new

Definition at line 79 of file OgreMemoryAllocatedObject.h.

template<class Alloc >
void* Ogre::AllocatedObject< Alloc >::operator new[] ( size_t  sz,
const char *  file,
int  line,
const char *  func 
)
inlineinherited

array operator new, with debug line info

Definition at line 86 of file OgreMemoryAllocatedObject.h.

template<class Alloc >
void* Ogre::AllocatedObject< Alloc >::operator new[] ( size_t  sz)
inlineinherited

Definition at line 91 of file OgreMemoryAllocatedObject.h.

void Ogre::FileSystemArchive::remove ( const String filename) const
virtual

Delete a named file.

Remarks
Not possible on read-only archives
Parameters
filenameThe fully qualified name of the file

Reimplemented from Ogre::Archive.

static void Ogre::FileSystemArchive::setIgnoreHidden ( bool  ignore)
inlinestatic

Set whether filesystem enumeration will include hidden files or not.

This should be called prior to declaring and/or initializing filesystem resource locations. The default is true (ignore hidden files).

Definition at line 112 of file OgreFileSystem.h.

void Ogre::FileSystemArchive::unload ( )
virtual

Unloads the archive.

Warning
Do not call this function directly, it is meant to be used only by the ArchiveManager class.

Implements Ogre::Archive.

Member Data Documentation

String Ogre::Archive::mName
protectedinherited

Archive name.

Definition at line 92 of file OgreArchive.h.

bool Ogre::Archive::mReadOnly
protectedinherited

Read-only flag.

Definition at line 96 of file OgreArchive.h.

bool Ogre::FileSystemArchive::msIgnoreHidden
static

Definition at line 123 of file OgreFileSystem.h.

String Ogre::Archive::mType
protectedinherited

Archive type code.

Definition at line 94 of file OgreArchive.h.

Ogre::FileSystemArchive::OGRE_AUTO_MUTEX
protected

Definition at line 67 of file OgreFileSystem.h.


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