|
paludis
Version 1.4.0
|
#include <environment.hh>
Inheritance diagram for paludis::Environment:Public Member Functions | |
| virtual std::shared_ptr < PackageIDSequence > | operator[] (const Selection &) const PALUDIS_ATTRIBUTE((warn_unused_result))=0 |
| virtual const std::shared_ptr < Repository > | repository_from_new_config_file (const FSPath &) PALUDIS_ATTRIBUTE((warn_unused_result))=0 |
Public Member Functions inherited from paludis::MetadataKeyHolder | |
| MetadataConstIterator | begin_metadata () const PALUDIS_ATTRIBUTE((warn_unused_result)) |
| MetadataConstIterator | end_metadata () const PALUDIS_ATTRIBUTE((warn_unused_result)) |
| MetadataConstIterator | find_metadata (const std::string &) const PALUDIS_ATTRIBUTE((warn_unused_result)) |
Static Protected Member Functions | |
| static const Filter & | all_filter () PALUDIS_ATTRIBUTE((warn_unused_result)) |
Basic operations | |
| Environment ()=default | |
| virtual | ~Environment ()=0 |
| Environment (const Environment &)=delete | |
| Environment & | operator= (const Environment &)=delete |
Choice-related queries | |
| virtual const Tribool | want_choice_enabled (const std::shared_ptr< const PackageID > &, const std::shared_ptr< const Choice > &, const UnprefixedChoiceName &) const PALUDIS_ATTRIBUTE((warn_unused_result))=0 |
| virtual const std::string | value_for_choice_parameter (const std::shared_ptr< const PackageID > &, const std::shared_ptr< const Choice > &, const UnprefixedChoiceName &) const PALUDIS_ATTRIBUTE((warn_unused_result))=0 |
| virtual std::shared_ptr< const Set< UnprefixedChoiceName > > | known_choice_value_names (const std::shared_ptr< const PackageID > &, const std::shared_ptr< const Choice > &) const PALUDIS_ATTRIBUTE((warn_unused_result))=0 |
Suggestion-related queries | |
| virtual Tribool | interest_in_suggestion (const std::shared_ptr< const PackageID > &from_id, const PackageDepSpec &spec) const PALUDIS_ATTRIBUTE((warn_unused_result))=0 |
Mask-related queries | |
| virtual bool | accept_license (const std::string &, const std::shared_ptr< const PackageID > &) const PALUDIS_ATTRIBUTE((warn_unused_result))=0 |
| virtual const std::shared_ptr < const Set< std::string > > | expand_licence (const std::string &) const PALUDIS_ATTRIBUTE((warn_unused_result))=0 |
| virtual bool | accept_keywords (const std::shared_ptr< const KeywordNameSet > &, const std::shared_ptr< const PackageID > &) const PALUDIS_ATTRIBUTE((warn_unused_result))=0 |
| virtual const std::shared_ptr < const Mask > | mask_for_breakage (const std::shared_ptr< const PackageID > &) const PALUDIS_ATTRIBUTE((warn_unused_result))=0 |
| virtual const std::shared_ptr < const Mask > | mask_for_user (const std::shared_ptr< const PackageID > &, const bool will_be_used_for_overridden) const PALUDIS_ATTRIBUTE((warn_unused_result))=0 |
| virtual bool | unmasked_by_user (const std::shared_ptr< const PackageID > &, const std::string &) const PALUDIS_ATTRIBUTE((warn_unused_result))=0 |
System information | |
| virtual std::shared_ptr< const FSPathSequence > | bashrc_files () const PALUDIS_ATTRIBUTE((warn_unused_result))=0 |
| virtual std::shared_ptr< const FSPathSequence > | syncers_dirs () const PALUDIS_ATTRIBUTE((warn_unused_result))=0 |
| virtual std::shared_ptr< const FSPathSequence > | fetchers_dirs () const PALUDIS_ATTRIBUTE((warn_unused_result))=0 |
| virtual std::shared_ptr< const FSPathSequence > | hook_dirs () const PALUDIS_ATTRIBUTE((warn_unused_result))=0 |
| virtual uid_t | reduced_uid () const =0 |
| virtual gid_t | reduced_gid () const =0 |
| virtual bool | is_paludis_package (const QualifiedPackageName &) const PALUDIS_ATTRIBUTE((warn_unused_result))=0 |
Mirror information | |
| virtual std::shared_ptr< const MirrorsSequence > | mirrors (const std::string &) const PALUDIS_ATTRIBUTE((warn_unused_result))=0 |
Package sets | |
| virtual void | add_set (const SetName &base_name, const SetName &combined_name, const std::function< std::shared_ptr< const SetSpecTree >()> &func, const bool combine) const =0 |
| virtual std::shared_ptr< const SetNameSet > | set_names () const PALUDIS_ATTRIBUTE((warn_unused_result))=0 |
| virtual const std::shared_ptr < const SetSpecTree > | set (const SetName &) const PALUDIS_ATTRIBUTE((warn_unused_result))=0 |
Hook methods | |
| virtual HookResult | perform_hook (const Hook &, const std::shared_ptr< OutputManager > &optional_output_manager) const PALUDIS_ATTRIBUTE((warn_unused_result))=0 |
Distribution information | |
| virtual std::string | distribution () const PALUDIS_ATTRIBUTE((warn_unused_result))=0 |
World and configuration functionality | |
| virtual bool | add_to_world (const QualifiedPackageName &) const =0 |
| virtual bool | add_to_world (const SetName &) const =0 |
| virtual bool | remove_from_world (const QualifiedPackageName &) const =0 |
| virtual bool | remove_from_world (const SetName &) const =0 |
| virtual void | update_config_files_for_package_move (const PackageDepSpec &, const QualifiedPackageName &) const =0 |
Specific metadata keys | |
| virtual const std::shared_ptr < const MetadataValueKey < FSPath > > | preferred_root_key () const =0 |
| virtual const std::shared_ptr < const MetadataValueKey < FSPath > > | system_root_key () const =0 |
| virtual const std::shared_ptr < const MetadataValueKey < std::string > > | format_key () const =0 |
| virtual const std::shared_ptr < const MetadataValueKey < FSPath > > | config_location_key () const =0 |
Output management | |
| virtual const std::shared_ptr < OutputManager > | create_output_manager (const CreateOutputManagerInfo &) const =0 |
| virtual NotifierCallbackID | add_notifier_callback (const NotifierCallbackFunction &)=0 |
| virtual void | remove_notifier_callback (const NotifierCallbackID)=0 |
| virtual void | trigger_notifier_callback (const NotifierCallbackEvent &) const =0 |
Repositories | |
| virtual void | add_repository (int importance, const std::shared_ptr< Repository > &)=0 |
| virtual const std::shared_ptr < const Repository > | fetch_repository (const RepositoryName &) const PALUDIS_ATTRIBUTE((warn_unused_result))=0 |
| virtual const std::shared_ptr < Repository > | fetch_repository (const RepositoryName &) PALUDIS_ATTRIBUTE((warn_unused_result))=0 |
| virtual bool | has_repository_named (const RepositoryName &) const PALUDIS_ATTRIBUTE((warn_unused_result))=0 |
| virtual QualifiedPackageName | fetch_unique_qualified_package_name (const PackageNamePart &, const Filter &=all_filter(), const bool disambiguate=true) const PALUDIS_ATTRIBUTE((warn_unused_result))=0 |
| virtual bool | more_important_than (const RepositoryName &, const RepositoryName &) const PALUDIS_ATTRIBUTE((warn_unused_result))=0 |
Iterate over our repositories | |
|
typedef WrappedForwardIterator < RepositoryConstIteratorTag, const std::shared_ptr < Repository > > | RepositoryConstIterator |
| virtual RepositoryConstIterator | begin_repositories () const PALUDIS_ATTRIBUTE((warn_unused_result))=0 |
| virtual RepositoryConstIterator | end_repositories () const PALUDIS_ATTRIBUTE((warn_unused_result))=0 |
Additional Inherited Members | |
Public Types inherited from paludis::MetadataKeyHolder | |
|
typedef WrappedForwardIterator < MetadataConstIteratorTag, const std::shared_ptr< const MetadataKey > > | MetadataConstIterator |
Protected Member Functions inherited from paludis::MetadataKeyHolder | |
| virtual void | add_metadata_key (const std::shared_ptr< const MetadataKey > &) const |
| virtual void | clear_metadata_keys () const |
| virtual void | need_keys_added () const =0 |
Represents a working environment, which contains an available packages database and provides various methods for querying package visibility and options.
Holds a number of Repository instances.
Environment itself is purely an interface class. Actual Environment implementations usually descend from EnvironmentImplementation, which provides much of the common implementation details. EnvironmentFactory is often used to create the appropriate Environment subclass for an application.
|
pure virtual |
Do we accept any of the specified keywords for a particular package?
If the collection includes "*", should return true.
Used by PackageID implementations. Generally PackageID's masks methods should be used rather than calling this directly.
Implemented in paludis::TestEnvironment.
|
pure virtual |
Do we accept a particular license for a particular package?
Used by PackageID implementations. Generally PackageID's masks methods should be used rather than calling this directly.
Implemented in paludis::TestEnvironment.
|
pure virtual |
Set a callback function to use when a particular event occurs.
The return value can be passed to remove_notifier_callback.
Implemented in paludis::EnvironmentImplementation.
|
pure virtual |
Add a repository.
| DuplicateRepositoryError | if a Repository with the same name as the new Repository already exists in our collection. |
Implemented in paludis::EnvironmentImplementation.
|
pure virtual |
Add a package set.
Generally called by repositories, when Repository::populate_sets is called.
| base_name | The basic name of the set, such as 'security'. |
| combined_name | The name to use for this set when combine is true, such as 'security.myrepo'. If combine is false, should be the same as base_name. |
| func | A function that returns the set. |
| combine | If true, rename the set from foo to foo.reponame, and make the foo set contain foo.reponame, along with any other repositories' sets named foo. If false, throw if the set already exists. |
Implemented in paludis::EnvironmentImplementation.
|
pure virtual |
Add this package to world.
Implemented in paludis::TestEnvironment.
|
pure virtual |
Add this set to world.
Implemented in paludis::TestEnvironment.
|
pure virtual |
Return a collection of bashrc files to be used by the various components that are implemented in bash.
Implemented in paludis::EnvironmentImplementation.
|
pure virtual |
The config_location_key, if non-zero, specifies the location of the configuration file or directory, the contents of which depends on the format returned by format_key.
Implemented in paludis::TestEnvironment.
|
pure virtual |
|
pure virtual |
Expand a licence group into its constituent licences, recursively (if any of our repositories thinks it is a group).
The original group is included in the result.
Implemented in paludis::EnvironmentImplementation.
|
pure virtual |
Fetch a named repository.
Implemented in paludis::EnvironmentImplementation.
|
pure virtual |
Fetch a named repository.
Implemented in paludis::EnvironmentImplementation.
|
pure virtual |
Disambiguate a package name. If a filter is specified, limit the potential results to packages that match.
| AmbiguousPackageNameError | if there is no unambiguous disambiguation. If disambiguate is set to false, the exception will be always thrown in presence of ambiguity. |
Implemented in paludis::EnvironmentImplementation.
|
pure virtual |
Return directories to search for fetcher scripts.
Implemented in paludis::EnvironmentImplementation.
|
pure virtual |
The format_key, if non-zero, holds our environment's format. Environment implementations should not return zero here, but clients should still check.
Implemented in paludis::TestEnvironment.
|
pure virtual |
Do we have a named repository?
Implemented in paludis::EnvironmentImplementation.
|
pure virtual |
Return directories to search for hooks.
Implemented in paludis::TestEnvironment.
|
pure virtual |
Do we want to ignore or take a particular suggestion from a particular package?
Command line things override this.
Implemented in paludis::TestEnvironment.
|
pure virtual |
Is the specified package Paludis?
Used by InstallTask to decide whether to exec() after installing a package.
Implemented in paludis::EnvironmentImplementation.
|
pure virtual |
Return a collection of known value names for a particular choice.
Only for use by Repository, to get defaults from the environment. Clients should query the metadata key directly.
This is to deal with cases like USE_EXPAND values, where the repository doesn't know all possible values.
Implemented in paludis::TestEnvironment.
|
pure virtual |
Do we have a 'breaks' mask for a particular package?
Returns a zero pointer if no.
Used by PackageID implementations. Generally PackageID's masks methods should be used rather than calling this directly.
Implemented in paludis::TestEnvironment.
|
pure virtual |
Do we have a 'user' mask for a particular package?
Returns a zero pointer if no.
If the second parameter is true, return a Mask suitable for being added to an OverriddenMask.
Used by PackageID implementations. Generally PackageID's masks methods should be used rather than calling this directly.
Implemented in paludis::TestEnvironment.
|
pure virtual |
Return the mirror URI prefixes for a named mirror.
Implemented in paludis::TestEnvironment.
|
pure virtual |
Return true if the first repository is more important than the second.
Implemented in paludis::EnvironmentImplementation.
|
pure virtual |
Select some packages.
Implemented in paludis::EnvironmentImplementation.
|
pure virtual |
|
pure virtual |
The preferred_root_key, which must not be null, specifies the preferred filesystem root for actions.
Implemented in paludis::TestEnvironment.
|
pure virtual |
Group id to use when reduced privs are permissible.
Implemented in paludis::TestEnvironment.
|
pure virtual |
User id to use when reduced privs are permissible.
Implemented in paludis::TestEnvironment.
|
pure virtual |
Remove this package from world, if it is present.
Implemented in paludis::TestEnvironment.
|
pure virtual |
Remove this set from world, if it is present.
Implemented in paludis::TestEnvironment.
|
pure virtual |
Remove a function added with add_notifier_callback.
Implemented in paludis::EnvironmentImplementation.
|
pure virtual |
Create a repository from a particular file.
Does not add the repository to the Environment.
This allows RepositoryRepository to add a repo config file, then sync that repo. If you aren't RepositoryRepository you shouldn't be calling this.
Implemented in paludis::TestEnvironment.
|
pure virtual |
Return a named set.
If the named set is not known, returns a zero pointer.
Implemented in paludis::EnvironmentImplementation.
|
pure virtual |
Return all known named sets.
Implemented in paludis::EnvironmentImplementation.
|
pure virtual |
Return directories to search for syncer scripts.
Implemented in paludis::EnvironmentImplementation.
|
pure virtual |
The system_root_key, which must not be null, specifies the filesystem root for dependencies etc. This is usually "/", unless something funky is going on.
Implemented in paludis::TestEnvironment.
|
pure virtual |
|
pure virtual |
Do we have a user unmask for a particular package?
This is only applied to repository and profile style masks, not keywords, licences etc. If true, user_mask shouldn't be used.
Used by PackageID implementations. Generally PackageID's masks methods should be used rather than calling this directly.
Implemented in paludis::TestEnvironment.
|
pure virtual |
Where possible, update configuration files with the first spec to use the second package name.
Does not necessarily invalidate any in-memory configuration.
Implemented in paludis::TestEnvironment.
|
pure virtual |
What string value, if any, is set for the parameter for a particular choice for a particular package?
There is no difference between "not set" and "set to an empty string".
Only for use by Repository, to get defaults from the environment. Clients should query the metadata key directly.
The third parameter is the name of the value, which might not have been created yet.
Implemented in paludis::TestEnvironment.
|
pure virtual |
Do we want a choice enabled for a particular package?
Only for use by Repository, to get defaults from the environment. Clients should query the metadata key directly.
The third parameter is the name of the value, which might not have been created yet.
Implemented in paludis::TestEnvironment.
1.8.3.1