15 #ifndef VIRTUALFILEMOUNTSYSTEM_H 16 #define VIRTUALFILEMOUNTSYSTEM_H 18 #include "pandabase.h" 20 #include "virtualFileMount.h" 31 INLINE
const Filename &get_physical_filename()
const;
34 virtual bool has_file(
const Filename &file)
const;
40 virtual bool is_directory(
const Filename &file)
const;
41 virtual bool is_regular_file(
const Filename &file)
const;
44 virtual istream *open_read_file(
const Filename &file)
const;
50 virtual streamsize get_file_size(
const Filename &file, istream *stream)
const;
51 virtual streamsize get_file_size(
const Filename &file)
const;
52 virtual time_t get_timestamp(
const Filename &file)
const;
55 virtual bool scan_directory(vector_string &contents,
61 virtual void output(ostream &out)
const;
68 return get_class_type();
70 virtual TypeHandle force_init_type() {init_type();
return get_class_type();}
74 static void init_type() {
75 VirtualFileMount::init_type();
76 register_type(_type_handle,
"VirtualFileMountSystem",
77 VirtualFileMount::get_class_type());
84 #include "virtualFileMountSystem.I" Maps an actual OS directory into the VirtualFileSystem.
virtual bool delete_file(const Filename &file)
Attempts to delete the indicated file or directory within the mount.
virtual bool atomic_read_contents(const Filename &file, string &contents) const
See Filename::atomic_read_contents().
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 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 is_writable(const Filename &file) const
Returns true if the named file or directory may be written to, false otherwise.
virtual bool create_file(const Filename &file)
Attempts to create the indicated file within the mount, if it does not already exist.
The name of a file, such as a texture file or an Egg file.
virtual ostream * open_append_file(const Filename &file)
Works like open_write_file(), but the file is opened in append mode.
virtual iostream * open_read_append_file(const Filename &file)
Works like open_read_write_file(), but the file is opened in append mode.
virtual bool make_directory(const Filename &file)
Attempts to create the indicated file within the mount, if it does not already exist.
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...
The abstract base class for a mount definition used within a VirtualFileSystem.
This class records a particular byte sub-range within an existing file on disk.
TypeHandle is the identifier used to differentiate C++ class types.
virtual bool atomic_compare_and_exchange_contents(const Filename &file, string &orig_contents, const string &old_contents, const string &new_contents)
See Filename::atomic_compare_and_exchange_contents().
virtual ostream * open_write_file(const Filename &file, bool truncate)
Opens the file for writing.
virtual iostream * open_read_write_file(const Filename &file, bool truncate)
Opens the file for writing.