20 #ifndef PALUDIS_GUARD_PALUDIS_REPOSITORY_HH
21 #define PALUDIS_GUARD_PALUDIS_REPOSITORY_HH 1
26 #include <paludis/spec_tree-fwd.hh>
29 #include <paludis/partitioning-fwd.hh>
32 #include <paludis/util/fs_path.hh>
33 #include <paludis/util/wrapped_forward_iterator-fwd.hh>
35 #include <paludis/util/named_value.hh>
36 #include <paludis/util/timestamp.hh>
39 #include <paludis/output_manager-fwd.hh>
42 #include <paludis/metadata_key_holder.hh>
43 #include <paludis/merger-fwd.hh>
62 typedef Name<struct name_arch> arch;
63 typedef Name<struct name_build_start_time> build_start_time;
64 typedef Name<struct name_check> check;
65 typedef Name<struct name_destination_interface> destination_interface;
66 typedef Name<struct name_environment_file> environment_file;
67 typedef Name<struct name_environment_variable_interface> environment_variable_interface;
68 typedef Name<struct name_image_dir> image_dir;
69 typedef Name<struct name_manifest_interface> manifest_interface;
70 typedef Name<struct name_merged_entries> merged_entries;
71 typedef Name<struct name_options> options;
72 typedef Name<struct name_output_manager> output_manager;
73 typedef Name<struct name_package_id> package_id;
74 typedef Name<struct name_parts> parts;
75 typedef Name<struct name_path> path;
76 typedef Name<struct name_perform_uninstall> perform_uninstall;
77 typedef Name<struct name_permit_destination> permit_destination;
78 typedef Name<struct name_profile> profile;
79 typedef Name<struct name_replacing> replacing;
80 typedef Name<struct name_status> status;
81 typedef Name<struct name_used_this_for_config_protect> used_this_for_config_protect;
82 typedef Name<struct name_want_phase> want_phase;
151 const std::shared_ptr<const PackageID> &,
200 const std::string name()
const;
229 const std::string name()
const;
284 virtual const std::shared_ptr<const MetadataValueKey<std::string> > format_key()
const = 0;
291 virtual const std::shared_ptr<const MetadataValueKey<FSPath> > location_key()
const = 0;
300 virtual const std::shared_ptr<const MetadataValueKey<FSPath> > installed_root_key()
const = 0;
312 virtual const std::shared_ptr<const MetadataCollectionKey<Map<std::string, std::string> > > sync_host_key()
const = 0;
336 virtual std::shared_ptr<const CategoryNamePartSet> category_names(
342 virtual std::shared_ptr<const CategoryNamePartSet> unimportant_category_names(
352 virtual const bool is_unimportant()
const = 0;
357 virtual std::shared_ptr<const CategoryNamePartSet> category_names_containing_package(
364 virtual std::shared_ptr<const QualifiedPackageNameSet> package_names(
390 virtual bool some_ids_might_not_be_masked()
const = 0;
405 virtual const std::shared_ptr<const Set<std::string> > maybe_expand_licence_nonrecursively(
406 const std::string &)
const = 0;
416 virtual void invalidate() = 0;
421 virtual void regenerate_cache()
const;
426 virtual void purge_invalid_cache()
const;
436 const std::shared_ptr<OutputManager> & optional_output_manager)
448 const std::string & source,
449 const std::string & revision,
450 const std::shared_ptr<OutputManager> &)
const = 0;
458 virtual void can_drop_in_memory_cache()
const;
473 virtual void populate_sets()
const = 0;
494 virtual std::string get_environment_variable(
495 const std::shared_ptr<const PackageID> & for_package,
496 const std::string & var)
const
522 virtual bool is_suitable_destination_for(
const std::shared_ptr<const PackageID> &)
const
533 virtual bool want_pre_post_phases()
const