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

PMSolvable Class Reference

Contains everything needed for dependency solving. More...

#include <PMSolvable.h>

Inheritance diagram for PMSolvable:

CountedRep Rep PMObject PMPackage PMSelection PMYouPatch List of all members.

Public Types

typedef std::list< PkgRelationPkgRelList_type
typedef PkgRelList_type::iterator PkgRelList_iterator
typedef PkgRelList_type::const_iterator PkgRelList_const_iterator
typedef Provides_iterator Provides_const_iterator

Public Member Functions

 PMSolvable (const PkgName &name, const PkgEdition &edition, const PkgArch &arch)
virtual ~PMSolvable ()
virtual std::ostream & dumpOn (std::ostream &str) const
const PkgRelationaddProvides (const PkgName name)
const PkgRelationaddProvides (const char *name)
const PkgRelList_typesetProvides (const PkgRelList_type &provides)
const PkgRelList_typesetRequires (const PkgRelList_type &requires)
const PkgRelList_typeaddPreRequires (PkgRelList_type &prerequires)
const PkgRelList_typesetObsoletes (const PkgRelList_type &obsoletes)
const PkgRelList_typesetConflicts (const PkgRelList_type &conflicts)
const PkgRelationaddRequires (const PkgRelation &r)
Provides_iterator all_provides_begin () const
Provides_iterator all_provides_end () const
PkgRelation self_provides () const
bool doesProvide (const PkgRelation &rel) const
bool doesObsolete (const constPMSolvablePtr &item_r) const
const PkgNamename () const
const PkgEditionedition () const
const PkgArcharch () const
const std::string & version () const
const std::string & release () const
std::string nameEd () const
std::string nameEdArch () const
const PkgRelList_typerequires () const
PkgRelList_type prerequires () const
const PkgRelList_typeconflicts () const
const PkgRelList_typeprovides () const
const PkgRelList_typeobsoletes () const

Static Public Member Functions

std::list< std::string > PkgRelList2StringList (const PkgRelList_type &rellist_r)
PkgRelList_type StringList2PkgRelList (const std::list< std::string > &relationlist)

Protected Attributes

PkgName _name
PkgEdition _edition
PkgArch _arch
PkgRelList_type _requires
PkgRelList_type _conflicts
PkgRelList_type _provides
PkgRelList_type _obsoletes

Private Member Functions

 REP_BODY (PMSolvable)
void traceFileRel (const PkgRelation &rel_r) const
void traceFileRel (const PkgRelList_type &rellist_r) const

Detailed Description

Contains everything needed for dependency solving.


Member Typedef Documentation

typedef PkgRelList_type::const_iterator PMSolvable::PkgRelList_const_iterator
 

typedef PkgRelList_type::iterator PMSolvable::PkgRelList_iterator
 

typedef std::list<PkgRelation> PMSolvable::PkgRelList_type
 

typedef Provides_iterator PMSolvable::Provides_const_iterator
 


Constructor & Destructor Documentation

PMSolvable::PMSolvable const PkgName name,
const PkgEdition edition,
const PkgArch arch
 

constructor

Parameters:
PkgName name
PkgEdition edition
PkgArch arch

PMSolvable::~PMSolvable  )  [virtual]
 


Member Function Documentation

const PMSolvable::PkgRelList_type & PMSolvable::addPreRequires PkgRelList_type prerequires  ) 
 

add prerequires flag for requires

Parameters:
prerequires list of relations in requires that have to be marked as prerequires
Returns:
reference to requires

const PkgRelation& PMSolvable::addProvides const char *  name  )  [inline]
 

add a provides: by const char *

const PkgRelation& PMSolvable::addProvides const PkgName  name  )  [inline]
 

add a provides: by PkgName

const PkgRelation& PMSolvable::addRequires const PkgRelation r  )  [inline]
 

add a requires relation to the front

Provides_iterator PMSolvable::all_provides_begin  )  const [inline]
 

iterator for stepping through all provided names (including the auto-providing of the package name)

Provides_iterator PMSolvable::all_provides_end  )  const [inline]
 

const PkgArch& PMSolvable::arch  )  const [inline]
 

const PkgRelList_type& PMSolvable::conflicts  )  const [inline]
 

bool PMSolvable::doesObsolete const constPMSolvablePtr &  item_r  )  const
 

True if this obsoletes Solvable item_r.

bool PMSolvable::doesProvide const PkgRelation rel  )  const
 

check if Solvable provides a relation

Parameters:
rel Relation to check for
Returns:
true if this packages provides relation, false otherwise

ostream & PMSolvable::dumpOn std::ostream &  str  )  const [virtual]
 

print package data in ASCII summary format

Reimplemented from CountedRep.

Reimplemented in PMObject, PMPackage, PMSelection, and PMYouPatch.

const PkgEdition& PMSolvable::edition  )  const [inline]
 

const PkgName& PMSolvable::name  )  const [inline]
 

access methods for components

std::string PMSolvable::nameEd  )  const [inline]
 

Returns "name-version-release" string

std::string PMSolvable::nameEdArch  )  const [inline]
 

Returns "name-version-release.arch" string

const PkgRelList_type& PMSolvable::obsoletes  )  const [inline]
 

std::list< std::string > PMSolvable::PkgRelList2StringList const PkgRelList_type rellist_r  )  [static]
 

PMSolvable::PkgRelList_type PMSolvable::prerequires  )  const
 

const PkgRelList_type& PMSolvable::provides  )  const [inline]
 

const std::string& PMSolvable::release  )  const [inline]
 

PMSolvable::REP_BODY PMSolvable   )  [private]
 

const PkgRelList_type& PMSolvable::requires  )  const [inline]
 

access methods for dependencies use PkgRelList2StringList to convert them to list<string>

PkgRelation PMSolvable::self_provides  )  const [inline]
 

const PkgRelList_type& PMSolvable::setConflicts const PkgRelList_type conflicts  )  [inline]
 

set conflicts list

const PkgRelList_type& PMSolvable::setObsoletes const PkgRelList_type obsoletes  )  [inline]
 

set obsoletes list

const PkgRelList_type& PMSolvable::setProvides const PkgRelList_type provides  )  [inline]
 

set provides list

const PkgRelList_type& PMSolvable::setRequires const PkgRelList_type requires  )  [inline]
 

set requires list

PMSolvable::PkgRelList_type PMSolvable::StringList2PkgRelList const std::list< std::string > &  relationlist  )  [static]
 

void PMSolvable::traceFileRel const PkgRelList_type rellist_r  )  const [inline, private]
 

void PMSolvable::traceFileRel const PkgRelation rel_r  )  const [private]
 

Hack to let InstTarget lookup required and conflicting file relations.

const std::string& PMSolvable::version  )  const [inline]
 

helper functions for edition


Member Data Documentation

PkgArch PMSolvable::_arch [protected]
 

PkgRelList_type PMSolvable::_conflicts [protected]
 

PkgEdition PMSolvable::_edition [protected]
 

PkgName PMSolvable::_name [protected]
 

PkgRelList_type PMSolvable::_obsoletes [protected]
 

PkgRelList_type PMSolvable::_provides [protected]
 

PkgRelList_type PMSolvable::_requires [protected]
 


The documentation for this class was generated from the following files:
Generated on Fri Nov 9 14:30:33 2007 for yast2-packagemanager by doxygen 1.3.6