#include <repository.hh>
Inheritance diagram for paludis::Repository:
Basic operations | |
|
| |
| Repository (const Environment *const, const RepositoryName &, const RepositoryCapabilities &) | |
| virtual | ~Repository () |
| Repository (const Repository &) | |
| Repository & | operator= (const Repository &) |
Repository information | |
|
| |
| const RepositoryName | name () const PALUDIS_ATTRIBUTE((nothrow)) PALUDIS_ATTRIBUTE((warn_unused_result)) |
| virtual bool | can_be_favourite_repository () const |
Specific metadata keys | |
|
| |
| virtual const std::shared_ptr < const MetadataValueKey < std::string > > | format_key () const =0 |
| virtual const std::shared_ptr < const MetadataValueKey < FSEntry > > | location_key () const =0 |
| virtual const std::shared_ptr < const MetadataValueKey < FSEntry > > | installed_root_key () const =0 |
| virtual const std::shared_ptr < const MetadataValueKey < std::string > > | accept_keywords_key () const =0 |
| virtual const std::shared_ptr < const MetadataValueKey < std::string > > | sync_host_key () const =0 |
Repository content queries | |
|
| |
| virtual bool | has_category_named (const CategoryNamePart &c) const =0 |
| virtual bool | has_package_named (const QualifiedPackageName &q) const =0 |
| virtual std::shared_ptr< const CategoryNamePartSet > | category_names () const =0 |
| virtual std::shared_ptr< const CategoryNamePartSet > | unimportant_category_names () const |
| virtual const bool | is_unimportant () const =0 |
| virtual std::shared_ptr< const CategoryNamePartSet > | category_names_containing_package (const PackageNamePart &p) const |
| virtual std::shared_ptr< const QualifiedPackageNameSet > | package_names (const CategoryNamePart &c) const =0 |
| virtual std::shared_ptr< const PackageIDSequence > | package_ids (const QualifiedPackageName &p) const =0 |
| virtual bool | some_ids_might_support_action (const SupportsActionTestBase &) const =0 |
| virtual bool | some_ids_might_not_be_masked () const =0 |
Repository behaviour methods | |
|
| |
| virtual void | invalidate ()=0 |
| virtual void | invalidate_masks ()=0 |
| virtual void | regenerate_cache () const |
| virtual void | purge_invalid_cache () const |
| virtual HookResult | perform_hook (const Hook &hook) PALUDIS_ATTRIBUTE((warn_unused_result))=0 |
| virtual bool | sync (const std::shared_ptr< OutputManager > &) const =0 |
| virtual void | can_drop_in_memory_cache () const |
Set methods | |
|
| |
| virtual void | populate_sets () const =0 |
A Repository provides a representation of a physical repository to a PackageDatabase.
| virtual const std::shared_ptr<const MetadataValueKey<std::string> > paludis::Repository::accept_keywords_key | ( | ) | const [pure virtual] |
The accept_keywords_key belonging to a NoConfigEnvironment's main repository is used to work out whether to accept keywords.
This only needs to be defined for repositories that can be a NoConfigEnvironment main repository.
| virtual bool paludis::Repository::can_be_favourite_repository | ( | ) | const [virtual] |
Are we allowed to be favourite repository?
Clients may show packages from the favourite repository without the repository suffix.
| virtual void paludis::Repository::can_drop_in_memory_cache | ( | ) | const [virtual] |
Allow the Repository to drop any memory-cached metadata and PackageIDs it holds.
| virtual std::shared_ptr<const CategoryNamePartSet> paludis::Repository::category_names | ( | ) | const [pure virtual] |
Fetch our category names.
| virtual std::shared_ptr<const CategoryNamePartSet> paludis::Repository::category_names_containing_package | ( | const PackageNamePart & | p | ) | const [virtual] |
Fetch categories that contain a named package.
| virtual const std::shared_ptr<const MetadataValueKey<std::string> > paludis::Repository::format_key | ( | ) | const [pure virtual] |
The format_key, if non-zero, holds our repository's format. Repository implementations should not return zero here, but clients should still check.
| virtual bool paludis::Repository::has_category_named | ( | const CategoryNamePart & | c | ) | const [pure virtual] |
Do we have a category with the given name?
| virtual bool paludis::Repository::has_package_named | ( | const QualifiedPackageName & | q | ) | const [pure virtual] |
Do we have a package in the given category with the given name?
| virtual const std::shared_ptr<const MetadataValueKey<FSEntry> > paludis::Repository::installed_root_key | ( | ) | const [pure virtual] |
The installed_root_key, if non-zero, specifies that we contain installed packages at the specified root.
This key is currently used in various places to determine whether a repository is an 'installed' repository or not.
| virtual void paludis::Repository::invalidate | ( | ) | [pure virtual] |
Invalidate any in memory cache.
| virtual void paludis::Repository::invalidate_masks | ( | ) | [pure virtual] |
Invalidate cached masks.
| virtual const bool paludis::Repository::is_unimportant | ( | ) | const [pure virtual] |
Are we unimportant?
In disambiguation, anything gets preferred over packages from unimportant repositories.
| virtual const std::shared_ptr<const MetadataValueKey<FSEntry> > paludis::Repository::location_key | ( | ) | const [pure virtual] |
The location_key, if non-zero, holds the file or directory containing our repository's data, the format of which depends on the value of format_key.
| const RepositoryName paludis::Repository::name | ( | ) | const |
Return our name.
| virtual std::shared_ptr<const PackageIDSequence> paludis::Repository::package_ids | ( | const QualifiedPackageName & | p | ) | const [pure virtual] |
Fetch our IDs.
| virtual std::shared_ptr<const QualifiedPackageNameSet> paludis::Repository::package_names | ( | const CategoryNamePart & | c | ) | const [pure virtual] |
Fetch our package names.
| virtual HookResult paludis::Repository::perform_hook | ( | const Hook & | hook | ) | [pure virtual] |
Perform a hook.
| virtual void paludis::Repository::populate_sets | ( | ) | const [pure virtual] |
Call Environment::add_set for every set we define.
Environment will call this method at most once, so no cache or check for repeats is required. Nothing else should call this method.
| virtual void paludis::Repository::purge_invalid_cache | ( | ) | const [virtual] |
Purge any invalid on-disk cache entries.
| virtual void paludis::Repository::regenerate_cache | ( | ) | const [virtual] |
Regenerate any on disk cache.
| virtual bool paludis::Repository::some_ids_might_not_be_masked | ( | ) | const [pure virtual] |
| virtual bool paludis::Repository::some_ids_might_support_action | ( | const SupportsActionTestBase & | ) | const [pure virtual] |
Might some of our IDs support a particular action?
Used to optimise various Generator and Filter queries. If a repository doesn't support, say, InstallAction, a query can skip searching it entirely when looking for installable packages.
| virtual bool paludis::Repository::sync | ( | const std::shared_ptr< OutputManager > & | ) | const [pure virtual] |
Sync, if necessary.
| virtual const std::shared_ptr<const MetadataValueKey<std::string> > paludis::Repository::sync_host_key | ( | ) | const [pure virtual] |
The sync_host_key, if present, should have a value containing the host against which a sync will be performed.
This is used to avoid starting multiple parallel syncs against the same host.
| virtual std::shared_ptr<const CategoryNamePartSet> paludis::Repository::unimportant_category_names | ( | ) | const [virtual] |
Fetch unimportant categories.
1.7.1