paludis::AdaptedEnvironment Class Reference

#include <adapted_environment.hh>

Inheritance diagram for paludis::AdaptedEnvironment:

paludis::Environment paludis::PrivateImplementationPattern< C_ > paludis::MetadataKeyHolder paludis::PrivateImplementationPattern< C_ >

List of all members.

Adapting methods

void adapt_use (std::tr1::shared_ptr< const PackageDepSpec >, const UseFlagName &, const UseFlagState)
void clear_adaptions ()

Public Member Functions

 AdaptedEnvironment (std::tr1::shared_ptr< Environment >)
virtual std::tr1::shared_ptr
< PackageIDSequence
operator[] (const Selection &) const PALUDIS_ATTRIBUTE((warn_unused_result))
virtual bool query_use (const UseFlagName &, const PackageID &) const PALUDIS_ATTRIBUTE((warn_unused_result))
virtual std::tr1::shared_ptr
< const UseFlagNameSet
known_use_expand_names (const UseFlagName &, const PackageID &) const PALUDIS_ATTRIBUTE((warn_unused_result))
virtual bool accept_license (const std::string &, const PackageID &) const PALUDIS_ATTRIBUTE((warn_unused_result))
virtual bool accept_keywords (std::tr1::shared_ptr< const KeywordNameSet >, const PackageID &) const PALUDIS_ATTRIBUTE((warn_unused_result))
virtual std::tr1::shared_ptr
< PackageDatabase
package_database () PALUDIS_ATTRIBUTE((warn_unused_result))
virtual std::tr1::shared_ptr
< const PackageDatabase
package_database () const PALUDIS_ATTRIBUTE((warn_unused_result))
virtual std::tr1::shared_ptr
< const FSEntrySequence
bashrc_files () const PALUDIS_ATTRIBUTE((warn_unused_result))
virtual std::tr1::shared_ptr
< const FSEntrySequence
syncers_dirs () const PALUDIS_ATTRIBUTE((warn_unused_result))
virtual std::tr1::shared_ptr
< const FSEntrySequence
fetchers_dirs () const PALUDIS_ATTRIBUTE((warn_unused_result))
virtual std::tr1::shared_ptr
< const FSEntrySequence
hook_dirs () const PALUDIS_ATTRIBUTE((warn_unused_result))
virtual std::string paludis_command () const PALUDIS_ATTRIBUTE((warn_unused_result))
virtual void set_paludis_command (const std::string &)
virtual const FSEntry root () const
virtual uid_t reduced_uid () const
virtual gid_t reduced_gid () const
virtual std::tr1::shared_ptr
< const MirrorsSequence
mirrors (const std::string &) const PALUDIS_ATTRIBUTE((warn_unused_result))
virtual std::tr1::shared_ptr
< const SetNameSet
set_names () const PALUDIS_ATTRIBUTE((warn_unused_result))
virtual std::tr1::shared_ptr
< SetSpecTree::ConstItem > 
set (const SetName &id) const
virtual std::tr1::shared_ptr
< const DestinationsSet
default_destinations () const PALUDIS_ATTRIBUTE((warn_unused_result))
virtual HookResult perform_hook (const Hook &) const PALUDIS_ATTRIBUTE((warn_unused_result))
virtual std::string distribution () const PALUDIS_ATTRIBUTE((warn_unused_result))
virtual const
std::tr1::shared_ptr< const
Mask
mask_for_breakage (const PackageID &) const PALUDIS_ATTRIBUTE((warn_unused_result))
virtual const
std::tr1::shared_ptr< const
Mask
mask_for_user (const PackageID &) const PALUDIS_ATTRIBUTE((warn_unused_result))
virtual bool unmasked_by_user (const PackageID &) const PALUDIS_ATTRIBUTE((warn_unused_result))
virtual bool is_paludis_package (const QualifiedPackageName &) const PALUDIS_ATTRIBUTE((warn_unused_result))
virtual void add_to_world (const QualifiedPackageName &) const
virtual void add_to_world (const SetName &) const
virtual void remove_from_world (const QualifiedPackageName &) const
virtual void remove_from_world (const SetName &) const
virtual const
std::tr1::shared_ptr< const
MetadataValueKey< std::string > > 
format_key () const
virtual const
std::tr1::shared_ptr< const
MetadataValueKey< FSEntry > > 
config_location_key () const

Protected Member Functions

virtual void clear_metadata_keys () const
virtual void need_keys_added () const


Detailed Description

An Environment that allows you to change aspects of an existing Environment, e.g. the state of a USE flag for a package.

Member Function Documentation

virtual void paludis::AdaptedEnvironment::clear_metadata_keys (  )  const [protected, virtual]

Clear all MetadataKey instances added using add_metadata_key.

Reimplemented from paludis::MetadataKeyHolder.

virtual void paludis::AdaptedEnvironment::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.

void paludis::AdaptedEnvironment::adapt_use ( std::tr1::shared_ptr< const PackageDepSpec ,
const UseFlagName ,
const   UseFlagState 
)

Set the state of a USE flag for the given PackageDepSpec.

void paludis::AdaptedEnvironment::clear_adaptions (  ) 

Clear all adaptions from this Environemnt.

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

Select some packages.

Implements paludis::Environment.

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

Is a particular use flag enabled for a particular package?

Implements paludis::Environment.

virtual std::tr1::shared_ptr<const UseFlagNameSet> paludis::AdaptedEnvironment::known_use_expand_names ( const UseFlagName ,
const PackageID  
) const [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.

Implements paludis::Environment.

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

Implements paludis::Environment.

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

Implements paludis::Environment.

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

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

Implements paludis::Environment.

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

Return directories to search for syncer scripts.

Implements paludis::Environment.

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

Return directories to search for fetcher scripts.

Implements paludis::Environment.

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

Return directories to search for hooks.

Implements paludis::Environment.

virtual std::string paludis::AdaptedEnvironment::paludis_command (  )  const [virtual]

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

Implements paludis::Environment.

virtual void paludis::AdaptedEnvironment::set_paludis_command ( const std::string &   )  [virtual]

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

Implements paludis::Environment.

virtual const FSEntry paludis::AdaptedEnvironment::root (  )  const [virtual]

Our root location for installs.

Implements paludis::Environment.

virtual uid_t paludis::AdaptedEnvironment::reduced_uid (  )  const [virtual]

User id to use when reduced privs are permissible.

Implements paludis::Environment.

virtual gid_t paludis::AdaptedEnvironment::reduced_gid (  )  const [virtual]

Group id to use when reduced privs are permissible.

Implements paludis::Environment.

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

Return the mirror URI prefixes for a named mirror.

Implements paludis::Environment.

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

Return all known named sets.

Implements paludis::Environment.

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

Return a named set.

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

Implements paludis::Environment.

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

Default destination candidates for installing packages.

Implements paludis::Environment.

virtual HookResult paludis::AdaptedEnvironment::perform_hook ( const Hook  )  const [virtual]

Perform a hook.

Implements paludis::Environment.

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

Implements paludis::Environment.

virtual const std::tr1::shared_ptr<const Mask> paludis::AdaptedEnvironment::mask_for_user ( const PackageID  )  const [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.

Implements paludis::Environment.

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

Implements paludis::Environment.

virtual bool paludis::AdaptedEnvironment::is_paludis_package ( const QualifiedPackageName  )  const [virtual]

Is the specified package Paludis?

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

Implements paludis::Environment.

virtual void paludis::AdaptedEnvironment::add_to_world ( const QualifiedPackageName  )  const [virtual]

Add this package to world.

Implements paludis::Environment.

virtual void paludis::AdaptedEnvironment::add_to_world ( const SetName  )  const [virtual]

Add this set to world.

Implements paludis::Environment.

virtual void paludis::AdaptedEnvironment::remove_from_world ( const QualifiedPackageName  )  const [virtual]

Remove this package from world, if it is present.

Implements paludis::Environment.

virtual void paludis::AdaptedEnvironment::remove_from_world ( const SetName  )  const [virtual]

Remove this set from world, if it is present.

Implements paludis::Environment.

virtual const std::tr1::shared_ptr<const MetadataValueKey<std::string> > paludis::AdaptedEnvironment::format_key (  )  const [virtual]

The format_key, if non-zero, holds our environment's format. Environment implementations should not return zero here, but clients should still check.

Implements paludis::Environment.

virtual const std::tr1::shared_ptr<const MetadataValueKey<FSEntry> > paludis::AdaptedEnvironment::config_location_key (  )  const [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.

Implements paludis::Environment.


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

Generated on Fri Oct 10 18:48:17 2008 for paludis by  doxygen 1.5.5