// Filename: virtualFile.I
// Created by:  drose (03Aug02)
//
////////////////////////////////////////////////////////////////////
//
// PANDA 3D SOFTWARE
// Copyright (c) 2001 - 2004, Disney Enterprises, Inc.  All rights reserved
//
// All use of this software is subject to the terms of the Panda 3d
// Software license.  You should have received a copy of this license
// along with this source code; you will also find a current copy of
// the license at http://etc.cmu.edu/panda3d/docs/license/ .
//
// To contact the maintainers of this program write to
// panda3d-general@lists.sourceforge.net .
//
////////////////////////////////////////////////////////////////////


////////////////////////////////////////////////////////////////////
//     Function: VirtualFile::Constructor
//       Access: Public
//  Description: 
////////////////////////////////////////////////////////////////////
INLINE VirtualFile::
VirtualFile() {
}

////////////////////////////////////////////////////////////////////
//     Function: VirtualFile::get_original_filename
//       Access: Published
//  Description: Returns the original filename as it was used to
//               locate this VirtualFile.  This is usually, but not
//               always, the same string returned by get_filename().
////////////////////////////////////////////////////////////////////
INLINE const Filename &VirtualFile::
get_original_filename() const {
  return _original_filename;
}

////////////////////////////////////////////////////////////////////
//     Function: VirtualFile::read_file
//       Access: Public
//  Description: Returns the entire contents of the file as a string.
////////////////////////////////////////////////////////////////////
INLINE string VirtualFile::
read_file(bool auto_unwrap) const {
  string result;
  read_file(result, auto_unwrap);
  return result;
}

////////////////////////////////////////////////////////////////////
//     Function: VirtualFile::set_original_filename
//       Access: Public
//  Description: Stores the original filename that was used to locate
//               this VirtualFile.  This is normally called only by
//               the VirtualFileSystem, as it creates each
//               VirtualFile.
////////////////////////////////////////////////////////////////////
INLINE void VirtualFile::
set_original_filename(const Filename &filename) {
  _original_filename = filename;
}


INLINE ostream &
operator << (ostream &out, const VirtualFile &file) {
  file.output(out);
  return out;
}

