37 INLINE
const Filename &get_mount_point()
const;
38 INLINE
int get_mount_flags()
const;
43 bool implicit_pz_file,
46 virtual bool has_file(
const Filename &file)
const=0;
47 virtual bool create_file(
const Filename &file);
48 virtual bool make_directory(
const Filename &file);
49 virtual bool delete_file(
const Filename &file);
50 virtual bool rename_file(
const Filename &orig_filename,
const Filename &new_filename);
51 virtual bool copy_file(
const Filename &orig_filename,
const Filename &new_filename);
52 virtual bool is_directory(
const Filename &file)
const=0;
53 virtual bool is_regular_file(
const Filename &file)
const=0;
54 virtual bool is_writable(
const Filename &file)
const;
56 virtual bool read_file(
const Filename &file,
bool do_uncompress,
57 vector_uchar &result)
const;
58 virtual bool write_file(
const Filename &file,
bool do_compress,
59 const unsigned char *data,
size_t data_size);
61 virtual std::istream *open_read_file(
const Filename &file)
const=0;
62 std::istream *open_read_file(
const Filename &file,
bool do_uncompress)
const;
63 virtual void close_read_file(std::istream *stream)
const;
65 virtual std::ostream *open_write_file(
const Filename &file,
bool truncate);
66 std::ostream *open_write_file(
const Filename &file,
bool do_compress,
bool truncate);
67 virtual std::ostream *open_append_file(
const Filename &file);
68 virtual void close_write_file(std::ostream *stream);
70 virtual std::iostream *open_read_write_file(
const Filename &file,
bool truncate);
71 virtual std::iostream *open_read_append_file(
const Filename &file);
72 virtual void close_read_write_file(std::iostream *stream);
74 virtual std::streamsize get_file_size(
const Filename &file, std::istream *stream)
const=0;
75 virtual std::streamsize get_file_size(
const Filename &file)
const=0;
76 virtual time_t get_timestamp(
const Filename &file)
const=0;
79 virtual bool scan_directory(vector_string &contents,
82 virtual bool atomic_compare_and_exchange_contents(
const Filename &file, std::string &orig_contents,
const std::string &old_contents,
const std::string &new_contents);
83 virtual bool atomic_read_contents(
const Filename &file, std::string &contents)
const;
86 virtual void output(std::ostream &out)
const;
87 virtual void write(std::ostream &out)
const;
97 return get_class_type();
99 virtual TypeHandle force_init_type() {init_type();
return get_class_type();}
103 static void init_type() {
104 TypedReferenceCount::init_type();
106 TypedReferenceCount::get_class_type());
void register_type(TypeHandle &type_handle, const std::string &name)
This inline function is just a convenient way to call TypeRegistry::register_type(),...