1
0
Fork 0

Add experimental code to have overlay only directories. Add ability to remove directories and create them while in overlay mode.

Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@4217
This commit is contained in:
Peter Veenstra 2019-04-22 14:57:24 +00:00
parent f8dd3db095
commit 1d01c8d151
2 changed files with 196 additions and 48 deletions

View file

@ -437,24 +437,30 @@ private:
bool optimize_cache_v1;
void add_DOSname_to_cache(const char* name);
void remove_DOSname_from_cache(const char* name);
void add_DOSdir_to_cache(const char* name);
void remove_DOSdir_from_cache(const char* name);
void update_cache(bool read_directory_contents = false);
std::vector<std::string> deleted_files_in_base; //Set is probably better, or some other solution (involving the disk).
std::vector<std::string> deleted_paths_in_base; //Currently used to hide the overlay folder.
std::vector<std::string> deleted_paths_in_base; //Currently only used to hide the overlay folder.
std::string overlap_folder;
void add_deleted_file(const char* name, bool create_on_disk=true);
void remove_deleted_file(const char* name, bool create_on_disk=true);
void add_deleted_file(const char* name, bool create_on_disk);
void remove_deleted_file(const char* name, bool create_on_disk);
bool is_deleted_file(const char* name);
void add_deleted_path(const char* name);
void remove_deleted_path(const char* name);
void add_deleted_path(const char* name, bool create_on_disk);
void remove_deleted_path(const char* name, bool create_on_disk);
bool is_deleted_path(const char* name);
void remove_deleted_file_from_disk(const char* dosname);
void add_deleted_file_to_disk(const char* dosname);
bool is_dir_only_in_overlay(const char* name); //cached
void remove_special_file_from_disk(const char* dosname, const char* operation);
void add_special_file_to_disk(const char* dosname, const char* operation);
std::string create_filename_of_special_operation(const char* dosname, const char* operation);
void convert_overlay_to_DOSname_in_base(char* dirname );
//For caching the update_cache routine.
std::vector<std::string> DOSnames_cache; //Also set is probably better.
std::vector<std::string> DOSdirs_cache; //Can not blindly change its type. it is important that subdirs come after the parent directory.
const std::string special_prefix;
};