#include <repository.hh>
Basic operations | |
Repository (const Environment *const, const RepositoryName &, const RepositoryCapabilities &) | |
Basic operations | |
virtual | ~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::tr1::shared_ptr< const MetadataValueKey< std::string > > | format_key () const =0 |
virtual const std::tr1::shared_ptr< const MetadataValueKey< FSEntry > > | location_key () const =0 |
virtual const std::tr1::shared_ptr< const MetadataValueKey< FSEntry > > | installed_root_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::tr1::shared_ptr < const CategoryNamePartSet > | category_names () const =0 |
virtual std::tr1::shared_ptr < const CategoryNamePartSet > | unimportant_category_names () const |
virtual std::tr1::shared_ptr < const CategoryNamePartSet > | category_names_containing_package (const PackageNamePart &p) const |
virtual std::tr1::shared_ptr < const QualifiedPackageNameSet > | package_names (const CategoryNamePart &c) const =0 |
virtual std::tr1::shared_ptr < const PackageIDSequence > | package_ids (const QualifiedPackageName &p) const =0 |
virtual bool | some_ids_might_support_action (const SupportsActionTestBase &) 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 |
Set methods | |
virtual void | populate_sets () const =0 |
const RepositoryName paludis::Repository::name | ( | ) | const |
Return our name.
virtual bool paludis::Repository::can_be_favourite_repository | ( | ) | const [virtual] |
Are we allowed to be favourite repository?
virtual const std::tr1::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.
Implemented in paludis::FakeInstalledRepository, and paludis::FakeRepository.
virtual const std::tr1::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.
Implemented in paludis::FakeInstalledRepository, and paludis::FakeRepository.
virtual const std::tr1::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.
Implemented in paludis::FakeInstalledRepository, and paludis::FakeRepository.
virtual bool paludis::Repository::has_category_named | ( | const CategoryNamePart & | c | ) | const [pure virtual] |
Do we have a category with the given name?
Implemented in paludis::FakeRepositoryBase.
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?
Implemented in paludis::FakeRepositoryBase.
virtual std::tr1::shared_ptr<const CategoryNamePartSet> paludis::Repository::category_names | ( | ) | const [pure virtual] |
Fetch our category names.
Implemented in paludis::FakeRepositoryBase.
virtual std::tr1::shared_ptr<const CategoryNamePartSet> paludis::Repository::unimportant_category_names | ( | ) | const [virtual] |
Fetch unimportant categories.
virtual std::tr1::shared_ptr<const CategoryNamePartSet> paludis::Repository::category_names_containing_package | ( | const PackageNamePart & | p | ) | const [virtual] |
Fetch categories that contain a named package.
virtual std::tr1::shared_ptr<const QualifiedPackageNameSet> paludis::Repository::package_names | ( | const CategoryNamePart & | c | ) | const [pure virtual] |
Fetch our package names.
Implemented in paludis::FakeRepositoryBase.
virtual std::tr1::shared_ptr<const PackageIDSequence> paludis::Repository::package_ids | ( | const QualifiedPackageName & | p | ) | const [pure virtual] |
Fetch our IDs.
Implemented in paludis::FakeRepositoryBase.
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 PackageDatabase::query. If a repository doesn't support, say, InstallAction, a query can skip searching it entirely when looking for installable packages.
Implemented in paludis::FakeInstalledRepository, and paludis::FakeRepository.
virtual void paludis::Repository::invalidate | ( | ) | [pure virtual] |
Invalidate any in memory cache.
Implemented in paludis::FakeRepositoryBase.
virtual void paludis::Repository::invalidate_masks | ( | ) | [pure virtual] |
Invalidate cached masks.
Implemented in paludis::FakeRepositoryBase.
virtual void paludis::Repository::regenerate_cache | ( | ) | const [virtual] |
Regenerate any on disk cache.
virtual void paludis::Repository::purge_invalid_cache | ( | ) | const [virtual] |
Purge any invalid on-disk cache entries.
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.
Implemented in paludis::FakeRepositoryBase.