Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

VirtualFileMount Class Reference

The abstract base class for a mount definition used within a VirtualFileSystem. More...

#include <virtualFileMount.h>

Inheritance diagram for VirtualFileMount:

TypedObject VirtualFileMountMultifile VirtualFileMountSystem List of all members.

Public Member Functions

 VirtualFileMount (VirtualFileSystem *file_system, const Filename &physical_filename, const Filename &mount_point, int mount_flags)
virtual ~VirtualFileMount ()
VirtualFileSystemget_file_system () const
 Returns the file system this mount object is attached to.

const Filenameget_physical_filename () const
 Returns the name of the source file on the OS filesystem of the directory or file that is mounted.

const Filenameget_mount_point () const
 Returns the name of the directory within the virtual file system that this mount object is attached to.

int get_mount_flags () const
 Returns the set of flags passed by the user to the VirtualFileSystem::mount() command.

virtual bool has_file (const Filename &file) const=0
virtual bool is_directory (const Filename &file) const=0
virtual bool is_regular_file (const Filename &file) const=0
virtual istream * open_read_file (const Filename &file) const=0
virtual bool scan_directory (vector_string &contents, const Filename &dir) const=0
virtual void output (ostream &out) const
virtual void write (ostream &out) const
virtual TypeHandle get_type () const
virtual TypeHandle force_init_type ()
int get_type_index () const
 Returns the internal index number associated with this object's TypeHandle, a unique number for each different type.

bool is_of_type (TypeHandle handle) const
 Returns true if the current object is or derives from the indicated type.

bool is_exact_type (TypeHandle handle) const
 Returns true if the current object is the indicated type exactly.


Static Public Member Functions

TypeHandle get_class_type ()
void init_type ()
 This function is declared non-inline to work around a compiler bug in g++ 2.96.


Protected Attributes

VirtualFileSystem_file_system
Filename _physical_filename
Filename _mount_point
int _mount_flags

Static Private Attributes

TypeHandle _type_handle

Detailed Description

The abstract base class for a mount definition used within a VirtualFileSystem.

Normally users don't need to monkey with this class directly.

Definition at line 44 of file virtualFileMount.h.


Constructor & Destructor Documentation

VirtualFileMount::VirtualFileMount VirtualFileSystem file_system,
const Filename physical_filename,
const Filename mount_point,
int  mount_flags
[inline]
 

Definition at line 32 of file virtualFileMount.I.

VirtualFileMount::~VirtualFileMount  )  [virtual]
 

Definition at line 36 of file virtualFileMount.cxx.

References get_physical_filename().


Member Function Documentation

virtual TypeHandle VirtualFileMount::force_init_type void   )  [inline, virtual]
 

Implements TypedObject.

Reimplemented in VirtualFileMountMultifile, and VirtualFileMountSystem.

Definition at line 80 of file virtualFileMount.h.

TypeHandle VirtualFileMount::get_class_type void   )  [inline, static]
 

Reimplemented from TypedObject.

Reimplemented in VirtualFileMountMultifile, and VirtualFileMountSystem.

Definition at line 81 of file virtualFileMount.h.

VirtualFileSystem * VirtualFileMount::get_file_system  )  const [inline]
 

Returns the file system this mount object is attached to.

Definition at line 54 of file virtualFileMount.I.

References _physical_filename, and INLINE.

int VirtualFileMount::get_mount_flags  )  const [inline]
 

Returns the set of flags passed by the user to the VirtualFileSystem::mount() command.

Definition at line 102 of file virtualFileMount.I.

const Filename & VirtualFileMount::get_mount_point  )  const [inline]
 

Returns the name of the directory within the virtual file system that this mount object is attached to.

This directory name will end with a slash.

Definition at line 87 of file virtualFileMount.I.

Referenced by VirtualFileSimple::get_file_system(), and output().

const Filename & VirtualFileMount::get_physical_filename  )  const [inline]
 

Returns the name of the source file on the OS filesystem of the directory or file that is mounted.

Definition at line 70 of file virtualFileMount.I.

Referenced by output(), and ~VirtualFileMount().

virtual TypeHandle VirtualFileMount::get_type void   )  const [inline, virtual]
 

Implements TypedObject.

Reimplemented in VirtualFileMountMultifile, and VirtualFileMountSystem.

Definition at line 77 of file virtualFileMount.h.

int TypedObject::get_type_index  )  const [inline, inherited]
 

Returns the internal index number associated with this object's TypeHandle, a unique number for each different type.

This is equivalent to get_type().get_index().

Definition at line 71 of file typedObject.I.

References TypeHandle::get_name(), TypedObject::get_type(), and INLINE.

virtual bool VirtualFileMount::has_file const Filename file  )  const [pure virtual]
 

Implemented in VirtualFileMountMultifile, and VirtualFileMountSystem.

void VirtualFileMount::init_type void   )  [inline, static]
 

This function is declared non-inline to work around a compiler bug in g++ 2.96.

Making it inline seems to cause problems in the optimizer.

Reimplemented from TypedObject.

Reimplemented in VirtualFileMountMultifile, and VirtualFileMountSystem.

Definition at line 84 of file virtualFileMount.h.

Referenced by VirtualFileMountSystem::get_type(), and VirtualFileMountMultifile::get_type().

virtual bool VirtualFileMount::is_directory const Filename file  )  const [pure virtual]
 

Implemented in VirtualFileMountMultifile, and VirtualFileMountSystem.

bool TypedObject::is_exact_type TypeHandle  handle  )  const [inline, inherited]
 

Returns true if the current object is the indicated type exactly.

Definition at line 101 of file typedObject.I.

Referenced by PT(), and CollisionNode::xform().

bool TypedObject::is_of_type TypeHandle  handle  )  const [inline, inherited]
 

Returns true if the current object is or derives from the indicated type.

Definition at line 86 of file typedObject.I.

Referenced by EggMaterialCollection::collapse_equivalent_materials(), EggTextureCollection::collapse_equivalent_textures(), DeferredNodeProperty::compose(), AnimBundleMaker::create_s_channel(), CharacterMaker::create_slider(), ProjectionScreen::cull_callback(), DataNode::define_output(), EggNode::determine_draw_order(), CharacterMaker::egg_to_index(), EggGroupUniquifier::EggGroupUniquifier(), EggPoolUniquifier::EggPoolUniquifier(), EggGroupNode::find_textures(), StaticTextFont::get_glyph(), EggMaterialCollection::insert_materials(), EggTextureCollection::insert_textures(), CharacterJoint::make_copy(), PT(), EggGroupNode::r_flatten_transforms(), EggGroupNode::r_transform_vertices(), EggGroupNode::recompute_polygon_normals(), CollisionLevelState::reserve(), PandaFramework::reset_frame_rate(), PandaFramework::set_texture(), EggGroupNode::steal_children(), and DataGraphTraverser::traverse().

virtual bool VirtualFileMount::is_regular_file const Filename file  )  const [pure virtual]
 

Implemented in VirtualFileMountMultifile, and VirtualFileMountSystem.

virtual istream* VirtualFileMount::open_read_file const Filename file  )  const [pure virtual]
 

Implemented in VirtualFileMountMultifile, and VirtualFileMountSystem.

Referenced by VirtualFileSimple::is_directory().

void VirtualFileMount::output ostream &  out  )  const [virtual]
 

Definition at line 48 of file virtualFileMount.cxx.

References get_mount_point(), and get_physical_filename().

virtual bool VirtualFileMount::scan_directory vector_string &  contents,
const Filename dir
const [pure virtual]
 

Implemented in VirtualFileMountMultifile, and VirtualFileMountSystem.

Referenced by VirtualFileSimple::is_regular_file().

void VirtualFileMount::write ostream &  out  )  const [virtual]
 

Definition at line 61 of file virtualFileMount.cxx.


Member Data Documentation

VirtualFileSystem* VirtualFileMount::_file_system [protected]
 

Definition at line 70 of file virtualFileMount.h.

int VirtualFileMount::_mount_flags [protected]
 

Definition at line 73 of file virtualFileMount.h.

Filename VirtualFileMount::_mount_point [protected]
 

Definition at line 72 of file virtualFileMount.h.

Filename VirtualFileMount::_physical_filename [protected]
 

Definition at line 71 of file virtualFileMount.h.

Referenced by get_file_system(), VirtualFileMountSystem::has_file(), VirtualFileMountSystem::is_directory(), and VirtualFileMountSystem::open_read_file().

TypeHandle VirtualFileMount::_type_handle [static, private]
 

Reimplemented from TypedObject.

Reimplemented in VirtualFileMountMultifile, and VirtualFileMountSystem.

Definition at line 24 of file virtualFileMount.cxx.


The documentation for this class was generated from the following files:
Generated on Fri May 2 00:56:06 2003 for Panda by doxygen1.3