21 #ifndef PALUDIS_GUARD_PALUDIS_MERGER_UNMERGER_HH
22 #define PALUDIS_GUARD_PALUDIS_MERGER_UNMERGER_HH 1
25 #include <paludis/util/fs_path.hh>
27 #include <paludis/util/named_value.hh>
30 #include <paludis/output_manager-fwd.hh>
51 typedef Name<struct name_environment> environment;
52 typedef Name<struct name_ignore> ignore;
53 typedef Name<struct name_maybe_output_manager> maybe_output_manager;
54 typedef Name<struct name_root> root;
113 void add_unmerge_entry(
const EntryType,
const std::shared_ptr<const ContentsEntry> &);
118 virtual void populate_unmerge_set() = 0;
123 virtual Hook extend_hook(
const Hook &)
const;
128 virtual void unmerge_file(
const std::shared_ptr<const ContentsEntry> &)
const;
129 virtual void unmerge_dir(
const std::shared_ptr<const ContentsEntry> &)
const;
130 virtual void unmerge_sym(
const std::shared_ptr<const ContentsEntry> &)
const;
131 virtual void unmerge_misc(
const std::shared_ptr<const ContentsEntry> &)
const;
138 virtual bool check_file(
const std::shared_ptr<const ContentsEntry> &)
const;
139 virtual bool check_dir(
const std::shared_ptr<const ContentsEntry> &)
const;
140 virtual bool check_sym(
const std::shared_ptr<const ContentsEntry> &)
const;
141 virtual bool check_misc(
const std::shared_ptr<const ContentsEntry> &)
const;
148 virtual void unlink_file(
FSPath,
const std::shared_ptr<const ContentsEntry> &)
const;
149 virtual void unlink_dir(
FSPath,
const std::shared_ptr<const ContentsEntry> &)
const;
150 virtual void unlink_sym(
FSPath,
const std::shared_ptr<const ContentsEntry> &)
const;
151 virtual void unlink_misc(
FSPath,
const std::shared_ptr<const ContentsEntry> &)
const;
155 virtual void display(
const std::string &)
const = 0;