Main Page | Class Hierarchy | Class List | Directories | File List | Class Members | File Members

PackageVersionDependencies Class Reference

Encapsulates ALL of the dependencies of a particular PackageVersion. More...

#include <dependency.h>

List of all members.

Public Member Functions

 PackageVersionDependencies (std::vector< PMString > useFlags)
 Constructor.
 PackageVersionDependencies (PMString compile, PMString run, PMString post, std::vector< PMString > useFlags)
 Construct and Add passed dependencies.
 PackageVersionDependencies (PackageVersion version, std::vector< PMString > useFlags)
 Construct and Add version's dependencies.
 ~PackageVersionDependencies ()
 Destructor.
bool DependenciesMet (std::vector< PackageVersion > versions)
 Do versions meet the dependencies?.
void AddDependencies (PMString depends, DependencyStage stage)
 Add the dependencies given.
void SetFlags (std::vector< PMString > useFlags)
 Set _useFlags.
void AddFlag (PMString flag)
 Add a useFlag.

Public Attributes

std::vector< Dependencydependencies
 The dependencies.

Protected Member Functions

void _AddDependency (Dependency depend)
 Add the dependency, dont allow duplicates.
std::vector< PMString >::iterator _BypassBrackets (std::vector< PMString >::iterator currentLocation, std::vector< PMString >::iterator endLocation)
 Return an iterator to where we have gone out of the selected bracket.

Protected Attributes

std::vector< PMString_useFlags
 The useFlags.


Detailed Description

Encapsulates ALL of the dependencies of a particular PackageVersion. Does this by having a vector of dependencies. Encapsulates all three types of dependencies also, compile, run and post time.


Constructor & Destructor Documentation

PackageVersionDependencies::PackageVersionDependencies std::vector< PMString useFlags  ) 
 

Constructor that just sets _useFlags.

Parameters:
useFlags The useflags that the dependencies should be calculated for.

PackageVersionDependencies::PackageVersionDependencies PMString  compile,
PMString  run,
PMString  post,
std::vector< PMString useFlags
 

Constructor to add usual number of dependencies.

Parameters:
compile The compile time dependencies.
run The run time dependencies.
post The post time dependencies.
useFlags The useflags that the dependencies should be calculated for.
Exceptions:
PortageException(eBadFormatOrDependency) if after a || there is no ( in the dependencies.

PackageVersionDependencies::PackageVersionDependencies PackageVersion  version,
std::vector< PMString useFlags
 

Constructor to add usual number of dependencies - takes in PackageVersion instead of strings.

Parameters:
version The PackageVersion to have its dependencies calculated.
useFlags The useflags that the dependencies should be calculated for.
Exceptions:
PortageException(eBadFormatOrDependency) if after a || there is no ( in the dependencies.

PackageVersionDependencies::~PackageVersionDependencies  ) 
 

Destructor.


Member Function Documentation

void PackageVersionDependencies::_AddDependency Dependency  depend  )  [protected]
 

Adds a dependency to the dependencies vector. Wont allow duplicates.

Parameters:
depend The Dependency to add to the vector of Dependencys.

std::vector< PMString >::iterator PackageVersionDependencies::_BypassBrackets std::vector< PMString >::iterator  currentLocation,
std::vector< PMString >::iterator  endLocation
[protected]
 

Bypasses brackets pointed to by currentLocation. endLocation passed to make sure we dont go out of bounds.

Parameters:
currentLocation The location of the first bracket.
endLocation The location of the end of the vector.
Returns:
An Iterator to the first string out of the scope of the brackets.

void PackageVersionDependencies::AddDependencies PMString  depends,
DependencyStage  stage
 

Fills the dependencies vector. Takes in a usual portage format depends string and the dependency stage.

Parameters:
depends A string of the usual portage dependencies format.
stage The stage of the dependencies being added.
Exceptions:
PortageException(eBadFormatOrDependency) if after a || there is no ( in the dependencies.

void PackageVersionDependencies::AddFlag PMString  flag  ) 
 

Add a useFlag.

Parameters:
flag Add this flag to the list of use flags.

bool PackageVersionDependencies::DependenciesMet std::vector< PackageVersion versions  ) 
 

Returns true if the dependencies are met by the versions vector. Doesnt check if there are superfluous versions. Should we have a bool for this?

Parameters:
versions A vector of PackageVersions that we should test against.
Returns:
true if the dependencies are met by versions.
Exceptions:
PortageException(eBadVersionCompare,version1 version2) if there is a bug in version compare.
PortageException(eEmptyVersionCompare). 

void PackageVersionDependencies::SetFlags std::vector< PMString useFlags  ) 
 

Set _useFlags.

Parameters:
useFlags The useflags that the dependencies should be calculated for.


The documentation for this class was generated from the following files:
Generated on Wed May 25 15:29:54 2005 for Package Management System for Gentoo Linux by  doxygen 1.4.1