paludis::Environment Class Reference
[Environment]

#include <environment.hh>

Inheritance diagram for paludis::Environment:

paludis::MetadataKeyHolder paludis::PrivateImplementationPattern< C_ > paludis::AdaptedEnvironment paludis::EnvironmentImplementation paludis::NoConfigEnvironment paludis::TestEnvironment

List of all members.

Basic operations

virtual ~Environment ()=0

Use-related queries

virtual bool query_use (const UseFlagName &, const PackageID &) const PALUDIS_ATTRIBUTE((warn_unused_result))=0
virtual std::tr1::shared_ptr
< const UseFlagNameSet
known_use_expand_names (const UseFlagName &, const PackageID &) const PALUDIS_ATTRIBUTE((warn_unused_result))=0

Mask-related queries

virtual bool accept_license (const std::string &, const PackageID &) const PALUDIS_ATTRIBUTE((warn_unused_result))=0
virtual bool accept_keywords (std::tr1::shared_ptr< const KeywordNameSet >, const PackageID &) const PALUDIS_ATTRIBUTE((warn_unused_result))=0
virtual const
std::tr1::shared_ptr< const
Mask
mask_for_breakage (const PackageID &) const PALUDIS_ATTRIBUTE((warn_unused_result))=0
virtual const
std::tr1::shared_ptr< const
Mask
mask_for_user (const PackageID &) const PALUDIS_ATTRIBUTE((warn_unused_result))=0
virtual bool unmasked_by_user (const PackageID &) const PALUDIS_ATTRIBUTE((warn_unused_result))=0

Database-related functions

virtual std::tr1::shared_ptr
< PackageDatabase
package_database () PALUDIS_ATTRIBUTE((warn_unused_result))=0
virtual std::tr1::shared_ptr
< const PackageDatabase
package_database () const PALUDIS_ATTRIBUTE((warn_unused_result))=0
virtual std::tr1::shared_ptr
< PackageIDSequence
operator[] (const Selection &) const PALUDIS_ATTRIBUTE((warn_unused_result))=0

System information

virtual std::tr1::shared_ptr
< const FSEntrySequence
bashrc_files () const PALUDIS_ATTRIBUTE((warn_unused_result))=0
virtual std::tr1::shared_ptr
< const FSEntrySequence
syncers_dirs () const PALUDIS_ATTRIBUTE((warn_unused_result))=0
virtual std::tr1::shared_ptr
< const FSEntrySequence
fetchers_dirs () const PALUDIS_ATTRIBUTE((warn_unused_result))=0
virtual std::tr1::shared_ptr
< const FSEntrySequence
hook_dirs () const PALUDIS_ATTRIBUTE((warn_unused_result))=0
virtual std::string paludis_command () const PALUDIS_ATTRIBUTE((warn_unused_result))=0
virtual void set_paludis_command (const std::string &)=0
virtual const FSEntry root () const =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::tr1::shared_ptr
< const MirrorsSequence
mirrors (const std::string &) const PALUDIS_ATTRIBUTE((warn_unused_result))=0

Package sets

virtual std::tr1::shared_ptr
< const SetNameSet
set_names () const PALUDIS_ATTRIBUTE((warn_unused_result))=0
virtual std::tr1::shared_ptr
< SetSpecTree::ConstItem > 
set (const SetName &) const PALUDIS_ATTRIBUTE((warn_unused_result))=0

Destination information

virtual std::tr1::shared_ptr
< const DestinationsSet
default_destinations () const PALUDIS_ATTRIBUTE((warn_unused_result))=0

Hook methods

virtual HookResult perform_hook (const Hook &) const PALUDIS_ATTRIBUTE((warn_unused_result))=0

Distribution information

virtual std::string distribution () const PALUDIS_ATTRIBUTE((warn_unused_result))=0

World functionality

virtual void add_to_world (const QualifiedPackageName &) const =0
virtual void add_to_world (const SetName &) const =0
virtual void remove_from_world (const QualifiedPackageName &) const =0
virtual void remove_from_world (const SetName &) const =0


Detailed Description

Represents a working environment, which contains an available packages database and provides various methods for querying package visibility and options.

Contains a PackageDatabase, which in turn contains 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. EnvironmentMaker is often used to create the appropriate Environment subclass for an application.

See also:
PackageDatabase

EnvironmentMaker

EnvironmentImplementation


Member Function Documentation

virtual bool paludis::Environment::query_use ( const UseFlagName ,
const PackageID  
) const [pure virtual]

Is a particular use flag enabled for a particular package?

Implemented in paludis::EnvironmentImplementation, paludis::AdaptedEnvironment, and paludis::TestEnvironment.

virtual std::tr1::shared_ptr<const UseFlagNameSet> paludis::Environment::known_use_expand_names ( const UseFlagName ,
const PackageID  
) const [pure virtual]

Return a collection of known use flag names for a particular package that start with a particular use expand prefix.

It is up to subclasses to decide whether to return all known use flags with the specified prefix or merely all enabled use flags. It is not safe to assume that all flags in the returned value will be enabled for the specified package.

Implemented in paludis::NoConfigEnvironment, paludis::AdaptedEnvironment, and paludis::TestEnvironment.

virtual bool paludis::Environment::accept_license ( const std::string ,
const PackageID  
) const [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::NoConfigEnvironment, paludis::AdaptedEnvironment, and paludis::TestEnvironment.

virtual bool paludis::Environment::accept_keywords ( std::tr1::shared_ptr< const KeywordNameSet ,
const PackageID  
) const [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::NoConfigEnvironment, paludis::AdaptedEnvironment, and paludis::TestEnvironment.

virtual const std::tr1::shared_ptr<const Mask> paludis::Environment::mask_for_breakage ( const PackageID  )  const [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::NoConfigEnvironment, paludis::AdaptedEnvironment, and paludis::TestEnvironment.

virtual const std::tr1::shared_ptr<const Mask> paludis::Environment::mask_for_user ( const PackageID  )  const [pure virtual]

Do we have a 'user' 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::NoConfigEnvironment, paludis::AdaptedEnvironment, and paludis::TestEnvironment.

virtual bool paludis::Environment::unmasked_by_user ( const PackageID  )  const [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::NoConfigEnvironment, paludis::AdaptedEnvironment, and paludis::TestEnvironment.

virtual std::tr1::shared_ptr<PackageIDSequence> paludis::Environment::operator[] ( const Selection &   )  const [pure virtual]

Select some packages.

Implemented in paludis::EnvironmentImplementation, and paludis::AdaptedEnvironment.

virtual std::tr1::shared_ptr<const FSEntrySequence> paludis::Environment::bashrc_files (  )  const [pure virtual]

Return a collection of bashrc files to be used by the various components that are implemented in bash.

Implemented in paludis::EnvironmentImplementation, and paludis::AdaptedEnvironment.

virtual std::tr1::shared_ptr<const FSEntrySequence> paludis::Environment::syncers_dirs (  )  const [pure virtual]

Return directories to search for syncer scripts.

Implemented in paludis::EnvironmentImplementation, and paludis::AdaptedEnvironment.

virtual std::tr1::shared_ptr<const FSEntrySequence> paludis::Environment::fetchers_dirs (  )  const [pure virtual]

Return directories to search for fetcher scripts.

Implemented in paludis::EnvironmentImplementation, and paludis::AdaptedEnvironment.

virtual std::tr1::shared_ptr<const FSEntrySequence> paludis::Environment::hook_dirs (  )  const [pure virtual]

Return directories to search for hooks.

Implemented in paludis::NoConfigEnvironment, paludis::AdaptedEnvironment, and paludis::TestEnvironment.

virtual std::string paludis::Environment::paludis_command (  )  const [pure virtual]

Return the command used to launch paludis (the client).

Implemented in paludis::NoConfigEnvironment, paludis::AdaptedEnvironment, and paludis::TestEnvironment.

virtual void paludis::Environment::set_paludis_command ( const std::string  )  [pure virtual]

Change the command used to launch paludis (the client).

Implemented in paludis::NoConfigEnvironment, paludis::AdaptedEnvironment, and paludis::TestEnvironment.

virtual const FSEntry paludis::Environment::root (  )  const [pure virtual]

Our root location for installs.

Implemented in paludis::NoConfigEnvironment, paludis::AdaptedEnvironment, and paludis::TestEnvironment.

virtual uid_t paludis::Environment::reduced_uid (  )  const [pure virtual]

User id to use when reduced privs are permissible.

Implemented in paludis::NoConfigEnvironment, paludis::AdaptedEnvironment, and paludis::TestEnvironment.

virtual gid_t paludis::Environment::reduced_gid (  )  const [pure virtual]

Group id to use when reduced privs are permissible.

Implemented in paludis::NoConfigEnvironment, paludis::AdaptedEnvironment, and paludis::TestEnvironment.

virtual bool paludis::Environment::is_paludis_package ( const QualifiedPackageName  )  const [pure virtual]

Is the specified package Paludis?

Used by InstallTask to decide whether to exec() after installing a package.

Implemented in paludis::EnvironmentImplementation, and paludis::AdaptedEnvironment.

virtual std::tr1::shared_ptr<const MirrorsSequence> paludis::Environment::mirrors ( const std::string  )  const [pure virtual]

Return the mirror URI prefixes for a named mirror.

Implemented in paludis::NoConfigEnvironment, paludis::AdaptedEnvironment, and paludis::TestEnvironment.

virtual std::tr1::shared_ptr<const SetNameSet> paludis::Environment::set_names (  )  const [pure virtual]

Return all known named sets.

Implemented in paludis::EnvironmentImplementation, and paludis::AdaptedEnvironment.

virtual std::tr1::shared_ptr<SetSpecTree::ConstItem> paludis::Environment::set ( const SetName  )  const [pure virtual]

Return a named set.

If the named set is not known, returns a zero pointer.

Implemented in paludis::EnvironmentImplementation, and paludis::AdaptedEnvironment.

virtual std::tr1::shared_ptr<const DestinationsSet> paludis::Environment::default_destinations (  )  const [pure virtual]

Default destination candidates for installing packages.

Implemented in paludis::EnvironmentImplementation, and paludis::AdaptedEnvironment.

virtual HookResult paludis::Environment::perform_hook ( const Hook  )  const [pure virtual]

virtual void paludis::Environment::add_to_world ( const QualifiedPackageName  )  const [pure virtual]

Add this package to world.

Implemented in paludis::NoConfigEnvironment, paludis::AdaptedEnvironment, and paludis::TestEnvironment.

virtual void paludis::Environment::add_to_world ( const SetName  )  const [pure virtual]

virtual void paludis::Environment::remove_from_world ( const QualifiedPackageName  )  const [pure virtual]

Remove this package from world, if it is present.

Implemented in paludis::NoConfigEnvironment, paludis::AdaptedEnvironment, and paludis::TestEnvironment.

virtual void paludis::Environment::remove_from_world ( const SetName  )  const [pure virtual]

Remove this set from world, if it is present.

Implemented in paludis::NoConfigEnvironment, paludis::AdaptedEnvironment, and paludis::TestEnvironment.


The documentation for this class was generated from the following file:

Generated on Mon Aug 4 19:40:14 2008 for paludis by  doxygen 1.5.5