34 #ifndef ESCAPE_CATALOGUE_HPP
35 #define ESCAPE_CATALOGUE_HPP
37 #include "../my_config.h"
48 class escape_catalogue :
public catalogue
51 escape_catalogue(user_interaction & dialog,
52 const infinint & root_last_modif,
53 const label & data_name, escape *esc_ptr);
54 escape_catalogue(user_interaction & dialog,
55 const archive_version & reading_ver,
57 generic_file *data_loc,
61 escape_catalogue(
const escape_catalogue & ref) : catalogue(ref) { copy_from(ref); };
62 const escape_catalogue & operator = (
const escape_catalogue &ref);
63 ~escape_catalogue() { destroy(); };
66 void pre_add(
const entree *ref, compressor *compr)
const;
67 void pre_add_ea(
const entree *ref, compressor *compr)
const;
68 void pre_add_crc(
const entree *ref, compressor *compr)
const;
69 void pre_add_dirty(compressor *compr)
const;
70 void pre_add_ea_crc(
const entree *ref, compressor *compr)
const;
71 void pre_add_waste_mark(compressor *compr)
const;
72 void pre_add_failed_mark(compressor *compr)
const;
73 escape *get_escape_layer()
const {
return esc; };
75 void reset_read()
const;
76 void end_read()
const;
77 void skip_read_to_parent_dir()
const;
78 bool read(
const entree * & ref)
const;
79 bool read_if_present(std::string *name,
const nomme * & ref)
const;
80 void tail_catalogue_to_current_read();
81 bool read_second_time_dir()
const {
return status == ec_detruits; };
94 archive_version x_reading_ver;
96 generic_file *x_data_loc;
97 generic_file *x_ea_loc;
99 std::map <infinint, etoile *> corres;
102 infinint min_read_offset;
104 infinint wait_parent_depth;
106 void set_esc(escape *esc_ptr) {
if(esc_ptr != NULL) esc = esc_ptr;
else throw SRC_BUG; };
107 void copy_from(
const escape_catalogue & ref);
109 void merge_cat_det();
110 void reset_reading_process();