Go to the documentation of this file.
14 #ifndef VIRTUALFILEMOUNTSYSTEM_H
15 #define VIRTUALFILEMOUNTSYSTEM_H
28 INLINE
const Filename &get_physical_filename()
const;
31 virtual bool has_file(
const Filename &file)
const;
37 virtual bool is_directory(
const Filename &file)
const;
38 virtual bool is_regular_file(
const Filename &file)
const;
41 virtual std::istream *open_read_file(
const Filename &file)
const;
47 virtual std::streamsize get_file_size(
const Filename &file, std::istream *stream)
const;
48 virtual std::streamsize get_file_size(
const Filename &file)
const;
49 virtual time_t get_timestamp(
const Filename &file)
const;
52 virtual bool scan_directory(vector_string &contents,
58 virtual void output(std::ostream &out)
const;
65 return get_class_type();
67 virtual TypeHandle force_init_type() {init_type();
return get_class_type();}
71 static void init_type() {
72 VirtualFileMount::init_type();
74 VirtualFileMount::get_class_type());
virtual bool delete_file(const Filename &file)
Attempts to delete the indicated file or directory within the mount.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
Maps an actual OS directory into the VirtualFileSystem.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
virtual bool atomic_read_contents(const Filename &file, std::string &contents) const
See Filename::atomic_read_contents().
void register_type(TypeHandle &type_handle, const std::string &name)
This inline function is just a convenient way to call TypeRegistry::register_type(),...
virtual bool copy_file(const Filename &orig_filename, const Filename &new_filename)
Attempts to copy the contents of the indicated file to the indicated file.
virtual std::ostream * open_append_file(const Filename &file)
Works like open_write_file(), but the file is opened in append mode.
virtual bool rename_file(const Filename &orig_filename, const Filename &new_filename)
Attempts to rename the contents of the indicated file to the indicated file.
virtual bool make_directory(const Filename &file)
Attempts to create the indicated file within the mount, if it does not already exist.
TypeHandle is the identifier used to differentiate C++ class types.
virtual bool atomic_compare_and_exchange_contents(const Filename &file, std::string &orig_contents, const std::string &old_contents, const std::string &new_contents)
See Filename::atomic_compare_and_exchange_contents().
virtual std::iostream * open_read_append_file(const Filename &file)
Works like open_read_write_file(), but the file is opened in append mode.
virtual bool is_writable(const Filename &file) const
Returns true if the named file or directory may be written to, false otherwise.
The abstract base class for a mount definition used within a VirtualFileSystem.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
virtual std::iostream * open_read_write_file(const Filename &file, bool truncate)
Opens the file for writing.
virtual bool get_system_info(const Filename &file, SubfileInfo &info)
Populates the SubfileInfo structure with the data representing where the file actually resides on dis...
virtual bool create_file(const Filename &file)
Attempts to create the indicated file within the mount, if it does not already exist.
This class records a particular byte sub-range within an existing file on disk.
virtual std::ostream * open_write_file(const Filename &file, bool truncate)
Opens the file for writing.
The name of a file, such as a texture file or an Egg file.