00001 // Filename: virtualFileMount.I 00002 // Created by: drose (03Aug02) 00003 // 00004 //////////////////////////////////////////////////////////////////// 00005 // 00006 // PANDA 3D SOFTWARE 00007 // Copyright (c) 2001, Disney Enterprises, Inc. All rights reserved 00008 // 00009 // All use of this software is subject to the terms of the Panda 3d 00010 // Software license. You should have received a copy of this license 00011 // along with this source code; you will also find a current copy of 00012 // the license at http://www.panda3d.org/license.txt . 00013 // 00014 // To contact the maintainers of this program write to 00015 // panda3d@yahoogroups.com . 00016 // 00017 //////////////////////////////////////////////////////////////////// 00018 00019 00020 //////////////////////////////////////////////////////////////////// 00021 // Function: VirtualFileMount::Constructor 00022 // Access: Public 00023 // Description: 00024 //////////////////////////////////////////////////////////////////// 00025 INLINE VirtualFileMount:: 00026 VirtualFileMount(VirtualFileSystem *file_system, 00027 const Filename &physical_filename, 00028 const Filename &mount_point, 00029 int mount_flags) : 00030 _file_system(file_system), 00031 _physical_filename(physical_filename), 00032 _mount_point(mount_point), 00033 _mount_flags(mount_flags) 00034 { 00035 } 00036 00037 //////////////////////////////////////////////////////////////////// 00038 // Function: VirtualFileMount::get_file_system 00039 // Access: Public 00040 // Description: Returns the file system this mount object is attached 00041 // to. 00042 //////////////////////////////////////////////////////////////////// 00043 INLINE VirtualFileSystem *VirtualFileMount:: 00044 get_file_system() const { 00045 return _file_system; 00046 } 00047 00048 00049 //////////////////////////////////////////////////////////////////// 00050 // Function: VirtualFileMount::get_physical_filename 00051 // Access: Public 00052 // Description: Returns the name of the source file on the OS 00053 // filesystem of the directory or file that is mounted. 00054 //////////////////////////////////////////////////////////////////// 00055 INLINE const Filename &VirtualFileMount:: 00056 get_physical_filename() const { 00057 return _physical_filename; 00058 } 00059 00060 //////////////////////////////////////////////////////////////////// 00061 // Function: VirtualFileMount::get_mount_point 00062 // Access: Public 00063 // Description: Returns the name of the directory within the virtual 00064 // file system that this mount object is attached to. 00065 // This directory name will end with a slash. 00066 //////////////////////////////////////////////////////////////////// 00067 INLINE const Filename &VirtualFileMount:: 00068 get_mount_point() const { 00069 return _mount_point; 00070 } 00071 00072 //////////////////////////////////////////////////////////////////// 00073 // Function: VirtualFileMount::get_mount_flags 00074 // Access: Public 00075 // Description: Returns the set of flags passed by the user to the 00076 // VirtualFileSystem::mount() command. 00077 //////////////////////////////////////////////////////////////////// 00078 INLINE int VirtualFileMount:: 00079 get_mount_flags() const { 00080 return _mount_flags; 00081 } 00082 00083 00084 INLINE ostream & 00085 operator << (ostream &out, const VirtualFileMount &mount) { 00086 mount.output(out); 00087 return out; 00088 }