37 #ifndef ESCAPE_CATALOGUE_HPP
38 #define ESCAPE_CATALOGUE_HPP
40 #include "../my_config.h"
51 class escape_catalogue :
public catalogue
54 escape_catalogue(user_interaction & dialog,
55 const infinint & root_last_modif,
56 const label & data_name, escape *esc_ptr);
57 escape_catalogue(user_interaction & dialog,
58 const archive_version & reading_ver,
60 generic_file *data_loc,
64 escape_catalogue(
const escape_catalogue & ref) : catalogue(ref) { copy_from(ref); };
65 const escape_catalogue & operator = (
const escape_catalogue &ref);
66 ~escape_catalogue() { destroy(); };
69 void pre_add(
const entree *ref, compressor *compr)
const;
70 void pre_add_ea(
const entree *ref, compressor *compr)
const;
71 void pre_add_crc(
const entree *ref, compressor *compr)
const;
72 void pre_add_dirty(compressor *compr)
const;
73 void pre_add_ea_crc(
const entree *ref, compressor *compr)
const;
74 void pre_add_waste_mark(compressor *compr)
const;
75 void pre_add_failed_mark(compressor *compr)
const;
76 escape *get_escape_layer()
const {
return esc; };
78 void reset_read()
const;
79 void end_read()
const;
80 void skip_read_to_parent_dir()
const;
81 bool read(
const entree * & ref)
const;
82 bool read_if_present(std::string *name,
const nomme * & ref)
const;
83 void tail_catalogue_to_current_read();
84 bool read_second_time_dir()
const {
return status == ec_detruits; };
97 archive_version x_reading_ver;
99 generic_file *x_data_loc;
100 generic_file *x_ea_loc;
102 std::map <infinint, etoile *> corres;
105 infinint min_read_offset;
107 infinint wait_parent_depth;
109 void set_esc(escape *esc_ptr) {
if(esc_ptr != NULL) esc = esc_ptr;
else throw SRC_BUG; };
110 void copy_from(
const escape_catalogue & ref);
112 void merge_cat_det();
113 void reset_reading_process();