#include <fake_package_id.hh>
Basic operations | |
FakePackageID (const Environment *const e, const std::tr1::shared_ptr< const FakeRepositoryBase > &, const QualifiedPackageName &, const VersionSpec &) | |
~FakePackageID () | |
Modifiable keys | |
const std::tr1::shared_ptr < FakeMetadataKeywordSetKey > | keywords_key () |
const std::tr1::shared_ptr < FakeMetadataSpecTreeKey < ProvideSpecTree > > | provide_key () |
const std::tr1::shared_ptr < FakeMetadataSpecTreeKey < DependencySpecTree > > | build_dependencies_key () |
const std::tr1::shared_ptr < FakeMetadataSpecTreeKey < DependencySpecTree > > | run_dependencies_key () |
const std::tr1::shared_ptr < FakeMetadataSpecTreeKey < DependencySpecTree > > | post_dependencies_key () |
const std::tr1::shared_ptr < FakeMetadataSpecTreeKey < DependencySpecTree > > | suggested_dependencies_key () |
const std::tr1::shared_ptr < FakeMetadataSpecTreeKey < FetchableURISpecTree > > | fetches_key () |
const std::tr1::shared_ptr < FakeMetadataSpecTreeKey < SimpleURISpecTree > > | homepage_key () |
const std::tr1::shared_ptr < FakeMetadataChoicesKey > | choices_key () |
void | set_slot (const SlotName &) |
Public Member Functions | |
virtual const std::string | canonical_form (const PackageIDCanonicalForm) const |
virtual const QualifiedPackageName | name () const |
virtual const VersionSpec | version () const |
virtual const std::tr1::shared_ptr< const Repository > | repository () const |
virtual PackageDepSpec | uniquely_identifying_spec () const |
virtual const std::tr1::shared_ptr< const MetadataValueKey< SlotName > > | slot_key () const |
virtual const std::tr1::shared_ptr< const MetadataValueKey < std::tr1::shared_ptr< const PackageID > > > | virtual_for_key () const |
virtual const std::tr1::shared_ptr< const MetadataCollectionKey < KeywordNameSet > > | keywords_key () const |
virtual const std::tr1::shared_ptr< const MetadataSpecTreeKey < ProvideSpecTree > > | provide_key () const |
virtual const std::tr1::shared_ptr< const MetadataSpecTreeKey < DependencySpecTree > > | dependencies_key () const |
virtual const std::tr1::shared_ptr< const MetadataSpecTreeKey < DependencySpecTree > > | build_dependencies_key () const |
virtual const std::tr1::shared_ptr< const MetadataSpecTreeKey < DependencySpecTree > > | run_dependencies_key () const |
virtual const std::tr1::shared_ptr< const MetadataSpecTreeKey < DependencySpecTree > > | post_dependencies_key () const |
virtual const std::tr1::shared_ptr< const MetadataSpecTreeKey < DependencySpecTree > > | suggested_dependencies_key () const |
virtual const std::tr1::shared_ptr< const MetadataSpecTreeKey < FetchableURISpecTree > > | fetches_key () const |
virtual const std::tr1::shared_ptr< const MetadataSpecTreeKey < SimpleURISpecTree > > | homepage_key () const |
virtual const std::tr1::shared_ptr< const MetadataValueKey< std::string > > | short_description_key () const |
virtual const std::tr1::shared_ptr< const MetadataValueKey< std::string > > | long_description_key () const |
virtual const std::tr1::shared_ptr< const MetadataValueKey < std::tr1::shared_ptr< const Contents > > > | contents_key () const |
virtual const std::tr1::shared_ptr< const MetadataTimeKey > | installed_time_key () const |
virtual const std::tr1::shared_ptr< const MetadataCollectionKey < PackageIDSequence > > | contains_key () const |
virtual const std::tr1::shared_ptr< const MetadataValueKey < std::tr1::shared_ptr< const PackageID > > > | contained_in_key () const |
virtual const std::tr1::shared_ptr< const MetadataValueKey< FSEntry > > | fs_location_key () const |
virtual const std::tr1::shared_ptr< const MetadataValueKey< long > > | size_of_download_required_key () const |
virtual const std::tr1::shared_ptr< const MetadataValueKey< long > > | size_of_all_distfiles_key () const |
virtual const std::tr1::shared_ptr< const MetadataValueKey< bool > > | transient_key () const |
virtual const std::tr1::shared_ptr< const MetadataCollectionKey< Set < std::string > > > | from_repositories_key () const |
virtual const std::tr1::shared_ptr< const MetadataValueKey < std::tr1::shared_ptr< const Choices > > > | choices_key () const |
const std::tr1::shared_ptr < const MetadataSpecTreeKey < LicenseSpecTree > > | license_key () const |
char | use_expand_separator () const |
virtual bool | arbitrary_less_than_comparison (const PackageID &) const |
virtual std::size_t | extra_hash_value () const |
virtual bool | supports_action (const SupportsActionTestBase &) const PALUDIS_ATTRIBUTE((warn_unused_result)) |
virtual void | perform_action (Action &) const |
virtual std::tr1::shared_ptr < const Set< std::string > > | breaks_portage () const PALUDIS_ATTRIBUTE((warn_unused_result)) |
virtual void | invalidate_masks () const |
void | make_unsupported () |
Protected Member Functions | |
virtual void | need_keys_added () const |
virtual void | need_masks_added () const |
Various keys can be modified.
virtual void paludis::FakePackageID::need_keys_added | ( | ) | const [protected, virtual] |
This method will be called before any of the metadata key iteration methods does its work. It can be used by subclasses to implement as-needed loading of keys.
Implements paludis::MetadataKeyHolder.
virtual void paludis::FakePackageID::need_masks_added | ( | ) | const [protected, virtual] |
This method will be called before any of the mask iteration methods does its work. It can be used by subclasses to implement as-needed loading of masks.
Implements paludis::PackageID.
virtual const std::string paludis::FakePackageID::canonical_form | ( | const | PackageIDCanonicalForm | ) | const [virtual] |
Return our canonical string representation.
This method (which is called by paludis::stringify()) should be used when outputting a PackageID or a PackageID's version. Some repositories need to display additional information to identify a package, so outputting merely the name and / or version may be insufficient.
Implements paludis::PackageID.
virtual const QualifiedPackageName paludis::FakePackageID::name | ( | ) | const [virtual] |
virtual const VersionSpec paludis::FakePackageID::version | ( | ) | const [virtual] |
What is our package version?
Use canonical_form instead for outputting.
Implements paludis::PackageID.
virtual const std::tr1::shared_ptr<const Repository> paludis::FakePackageID::repository | ( | ) | const [virtual] |
What is our owning repository?
Implements paludis::PackageID.
virtual PackageDepSpec paludis::FakePackageID::uniquely_identifying_spec | ( | ) | const [virtual] |
Return a PackageDepSpec that uniquely identifies us.
When stringified, can be turned back into an equivalent unique PackageDepSpec by using parse_user_package_dep_spec.
Implements paludis::PackageID.
virtual const std::tr1::shared_ptr<const MetadataValueKey<SlotName> > paludis::FakePackageID::slot_key | ( | ) | const [virtual] |
The slot, if specified, controls whether the package can be installed in parallel with other versions of the same package.
Implements paludis::PackageID.
virtual const std::tr1::shared_ptr<const MetadataValueKey<std::tr1::shared_ptr<const PackageID> > > paludis::FakePackageID::virtual_for_key | ( | ) | const [virtual] |
The virtual_for_key, if non-zero, indicates that we are an (old-style) virtual for another package. This affects dependency resolution.
Implements paludis::PackageID.
virtual const std::tr1::shared_ptr<const MetadataCollectionKey<KeywordNameSet> > paludis::FakePackageID::keywords_key | ( | ) | const [virtual] |
The keywords_key, if non-zero, is used by FindUnusedPackagesTask to determine whether a package is unused.
Implements paludis::PackageID.
virtual const std::tr1::shared_ptr<const MetadataSpecTreeKey<ProvideSpecTree> > paludis::FakePackageID::provide_key | ( | ) | const [virtual] |
The provide_key, if non-zero, indicates that a package provides certain old-style virtuals. This affects dependency resolution.
Implements paludis::PackageID.
virtual const std::tr1::shared_ptr<const MetadataSpecTreeKey<DependencySpecTree> > paludis::FakePackageID::dependencies_key | ( | ) | const [virtual] |
The dependencies_key, if non-zero, provides all of a package's dependencies.
If dependencies_key is used, the client should ignore build_dependencies_key, run_dependencies_key, post_dependencies_key and suggested_dependencies_key.
Repositories that support this key must also provide the old split out keys.
Implements paludis::PackageID.
virtual const std::tr1::shared_ptr<const MetadataSpecTreeKey<DependencySpecTree> > paludis::FakePackageID::build_dependencies_key | ( | ) | const [virtual] |
The build_dependencies_key, if non-zero, indicates a package's build-time dependencies.
Implements paludis::PackageID.
virtual const std::tr1::shared_ptr<const MetadataSpecTreeKey<DependencySpecTree> > paludis::FakePackageID::run_dependencies_key | ( | ) | const [virtual] |
The run_dependencies_key, if non-zero, indicates a package's run-time dependencies.
Implements paludis::PackageID.
virtual const std::tr1::shared_ptr<const MetadataSpecTreeKey<DependencySpecTree> > paludis::FakePackageID::post_dependencies_key | ( | ) | const [virtual] |
The post_dependencies_key, if non-zero, indicates a package's post-merge dependencies.
Implements paludis::PackageID.
virtual const std::tr1::shared_ptr<const MetadataSpecTreeKey<DependencySpecTree> > paludis::FakePackageID::suggested_dependencies_key | ( | ) | const [virtual] |
The suggested_dependencies_key, if non-zero, indicates a package's suggested post-merge dependencies.
Implements paludis::PackageID.
virtual const std::tr1::shared_ptr<const MetadataSpecTreeKey<FetchableURISpecTree> > paludis::FakePackageID::fetches_key | ( | ) | const [virtual] |
The fetches_key, if non-zero, indicates files that have to be fetched in order to install a package.
Implements paludis::PackageID.
virtual const std::tr1::shared_ptr<const MetadataSpecTreeKey<SimpleURISpecTree> > paludis::FakePackageID::homepage_key | ( | ) | const [virtual] |
The homepage_key, if non-zero, describes a package's homepages.
Implements paludis::PackageID.
virtual const std::tr1::shared_ptr<const MetadataValueKey<std::string> > paludis::FakePackageID::short_description_key | ( | ) | const [virtual] |
The short_description_key, if non-zero, provides a short (no more than a few hundred characters) description of a package.
Implements paludis::PackageID.
virtual const std::tr1::shared_ptr<const MetadataValueKey<std::string> > paludis::FakePackageID::long_description_key | ( | ) | const [virtual] |
The long_description_key, if non-zero, provides a long description of a package.
Implements paludis::PackageID.
virtual const std::tr1::shared_ptr<const MetadataValueKey<std::tr1::shared_ptr<const Contents> > > paludis::FakePackageID::contents_key | ( | ) | const [virtual] |
The contents_key, if non-zero, contains the contents of a package. For installed packages, this means the files installed; for installable packages, this means the files that will be installed (if known, which it may be for some binary packages).
Implements paludis::PackageID.
virtual const std::tr1::shared_ptr<const MetadataTimeKey> paludis::FakePackageID::installed_time_key | ( | ) | const [virtual] |
The installed_time_key, if non-zero, contains the time a package was installed. It affects dependency resolution if DepList is using dl_reinstall_scm_daily or dl_reinstall_scm_weekly.
Implements paludis::PackageID.
virtual const std::tr1::shared_ptr<const MetadataCollectionKey<PackageIDSequence> > paludis::FakePackageID::contains_key | ( | ) | const [virtual] |
The contains_key, if non-zero, indicates that a package contains other packages. This affects dependency resolution.
Implements paludis::PackageID.
virtual const std::tr1::shared_ptr<const MetadataValueKey<std::tr1::shared_ptr<const PackageID> > > paludis::FakePackageID::contained_in_key | ( | ) | const [virtual] |
The contained_in_key, if non-zero, indicates that a package is contained in another package. This affects dependency resolution.
Implements paludis::PackageID.
virtual const std::tr1::shared_ptr<const MetadataValueKey<FSEntry> > paludis::FakePackageID::fs_location_key | ( | ) | const [virtual] |
The fs_location_key, if non-zero, indicates the filesystem location (for example, the ebuild file or VDB directory) that best describes the location of a PackageID.
Implements paludis::PackageID.
virtual const std::tr1::shared_ptr<const MetadataValueKey<bool> > paludis::FakePackageID::transient_key | ( | ) | const [virtual] |
The transient_key, if non-zero, indicates whether this PackageID's originating repository is volatile.
Implements paludis::PackageID.
virtual const std::tr1::shared_ptr<const MetadataCollectionKey<Set<std::string> > > paludis::FakePackageID::from_repositories_key | ( | ) | const [virtual] |
The from_repositories key, if non-zero, contains the set of repositories that the ID is 'from'. An ID can be 'from' multiple repositories if, for example, it was built via a binary package.
Implements paludis::PackageID.
virtual const std::tr1::shared_ptr<const MetadataValueKey<std::tr1::shared_ptr<const Choices> > > paludis::FakePackageID::choices_key | ( | ) | const [virtual] |
The choices_key, if non-zero, contains zero or more MetadataValueKey<std::tr1::shared_ptr<const Choice> > child keys holding choice information for this ID.
Implements paludis::PackageID.
virtual bool paludis::FakePackageID::arbitrary_less_than_comparison | ( | const PackageID & | ) | const [virtual] |
Perform an arbitrary less than comparison on another PackageID.
Used by PackageIDSetComparator and operator==. This function should not be used by anything else.
This function will only be called if the other PackageID has the same name, version and repository as this. If this is not enough to uniquely identify an ID (e.g. if there is an affix, or if multiple slots per version are allowed), then this function's implementation must differentiate appropriately.
Implements paludis::PackageID.
virtual std::size_t paludis::FakePackageID::extra_hash_value | ( | ) | const [virtual] |
Provide any additional hash information for a PackageID.
The standard PackageID hash incorporates the repository name, the package name and the version of the package. If this function is defined, its value is also used when determining a hash. This can provide increased performance if a repository uses affixes or multiple slots per version.
Implements paludis::PackageID.
virtual bool paludis::FakePackageID::supports_action | ( | const SupportsActionTestBase & | ) | const [virtual] |
Do we support a particular action?
Attempting to call perform_action with an unsupported action type will lead to an UnsupportedActionError. However, in performance critical code and in situations where creating a full Action subclass instance is non-trivial, supports_action is much simpler.
Implements paludis::PackageID.
virtual void paludis::FakePackageID::perform_action | ( | Action & | ) | const [virtual] |
Perform the specified action.
Implements paludis::PackageID.
virtual std::tr1::shared_ptr<const Set<std::string> > paludis::FakePackageID::breaks_portage | ( | ) | const [virtual] |
Do we break Portage, and if so, why?
This method may be used by Environment implementations to apply a "we don't want packages that break Portage" mask.
Implements paludis::PackageID.
virtual void paludis::FakePackageID::invalidate_masks | ( | ) | const [virtual] |
Invalidate any masks.
PackageID implementations may cache masks. This can cause problems if the operating environment changes. Calling this method will clear any masks held by the PackageID.
Reimplemented from paludis::PackageID.