20 #ifndef PALUDIS_GUARD_PALUDIS_MERGER_HH 21 #define PALUDIS_GUARD_PALUDIS_MERGER_HH 1 23 #include <paludis/merger-fwd.hh> 24 #include <paludis/util/named_value.hh> 26 #include <paludis/util/timestamp.hh> 27 #include <paludis/util/fs_path.hh> 31 #include <paludis/output_manager-fwd.hh> 37 typedef Name<struct name_environment> environment;
38 typedef Name<struct name_fix_mtimes_before> fix_mtimes_before;
39 typedef Name<struct name_get_new_ids_or_minus_one> get_new_ids_or_minus_one;
40 typedef Name<struct name_image> image;
41 typedef Name<struct name_install_under> install_under;
42 typedef Name<struct name_maybe_output_manager> maybe_output_manager;
43 typedef Name<struct name_merged_entries> merged_entries;
44 typedef Name<struct name_no_chown> no_chown;
45 typedef Name<struct name_options> options;
46 typedef Name<struct name_permit_destination> permit_destination;
47 typedef Name<struct name_root> root;
89 bool symlink_needs_rewriting(
const FSPath &);
90 void rewrite_symlink_as_needed(
const FSPath &,
const FSPath &);
91 void set_skipped_dir(
const bool);
92 void do_ownership_fixes_recursive(
const FSPath &);
93 bool fixed_ownership_for(
const FSPath &);
98 virtual Hook extend_hook(
const Hook &);
103 void make_check_fail();
108 virtual void do_dir_recursive(
bool is_check,
const FSPath &,
const FSPath &);
118 virtual void on_enter_dir(
bool is_check,
const FSPath);
123 virtual void on_leave_dir(
bool is_check,
const FSPath);
129 virtual void on_done_merge();
134 virtual void on_error(
bool is_check,
const std::string &) = 0;
139 virtual void on_warn(
bool is_check,
const std::string &) = 0;
141 virtual void display_override(
const std::string &)
const = 0;
143 virtual void on_misc(
bool is_check,
const FSPath &,
const FSPath &);
144 virtual void on_file(
bool is_check,
const FSPath &,
const FSPath &);
145 virtual void on_dir(
bool is_check,
const FSPath &,
const FSPath &);
146 virtual void on_sym(
bool is_check,
const FSPath &,
const FSPath &);
148 virtual void on_file_main(
bool is_check,
const FSPath &,
const FSPath &) = 0;
149 virtual void on_dir_main(
bool is_check,
const FSPath &,
const FSPath &) = 0;
150 virtual void on_sym_main(
bool is_check,
const FSPath &,
const FSPath &) = 0;
152 virtual void prepare_install_under() = 0;
154 virtual FSPath canonicalise_root_path(
const FSPath &) = 0;
171 virtual void merge();
Definition: about_metadata-fwd.hh:23
NamedValue< n::permit_destination, PermitDestinationFn > permit_destination
Definition: merger.hh:71
Definition: exception.hh:74
Definition: named_value-fwd.hh:26
EntryType
Definition: merger_entry_type.hh:14
Definition: fs_path.hh:33
#define PALUDIS_ATTRIBUTE(x)
Definition: attributes.hh:53
#define PALUDIS_VISIBLE
Definition: attributes.hh:59