zypp::capability Namespace Reference


Classes

class  CapabilityImpl
 Abstract base for Capability implementations. More...
struct  CapImplOrder
 Ordering relation used by CapFactory to unify CapabilityImpl. More...
struct  CapabilityTraits
 Base of CapTraits. More...
struct  CapTraits
 CapTraits. More...
class  ConditionalCap
class  FileCap
 A filename matching if some Resolvable provides it. More...
class  FilesystemCap
 A Capability resolved by a query to /etc/sysconfig/storage:USED_FS_LIST. More...
class  HalCap
 A Capability resolved by a query to target::hal. More...
class  ModaliasCap
 A Capability resolved by a query to target::modalias. More...
class  NamedCap
 A name and optional Edition::MatchRange. More...
class  NullCap
 A dummy Capability. More...
class  OrCap
class  SplitCap
 A pseudo Capability indicating a package split. More...
class  VersionedCap
 A NamedCap providing an Edition::MatchRange. More...

Typedefs

typedef std::set
< CapabilityImpl::Ptr
CapabilityImplPtrSet

Functions

static void assertResKind (const Resolvable::Kind &refers_r)
 Assert a valid Resolvable::Kind.
bool isEditionSpec (Rel op_r, const Edition &edition_r)
 Check whether op_r and edition_r make a valid edition spec.
bool isFileSpec (const std::string &name_r)
 Test for a FileCap.
bool isInterestingFileSpec (const std::string &name_r)
 Test for a FileCap that is likely being REQUIRED.
bool isSplitSpec (const std::string &name_r)
 Test for a SplitCap.
bool isHalSpec (const std::string &name_r)
 Test for a HalCap.
bool isModaliasSpec (const std::string &name_r)
 Test for a ModaliasCap.
bool isFilesystemSpec (const std::string &name_r)
 Test for a FilesystemCap.
CapabilityImpl::Ptr buildFile (const Resolvable::Kind &refers_r, const std::string &name_r)
 Try to build a file cap from name_r .
CapabilityImpl::Ptr buildNamed (const Resolvable::Kind &refers_r, const std::string &name_r)
 Try to build a non versioned cap from name_r .
CapabilityImpl::Ptr buildVersioned (const Resolvable::Kind &refers_r, const std::string &name_r, Rel op_r, const Edition &edition_r)
 Try to build a versioned cap from name_r .
CapabilityImpl::Ptr buildHal (const Resolvable::Kind &refers_r, const std::string &name_r, Rel op_r=Rel::ANY, const std::string &value_r=std::string())
 Try to build a hal cap from name_r .
CapabilityImpl::Ptr buildModalias (const Resolvable::Kind &refers_r, const std::string &name_r, Rel op_r=Rel::ANY, const std::string &value_r=std::string())
 Try to build a modalias cap from name_r .
CapabilityImpl::Ptr buildFilesystem (const Resolvable::Kind &refers_r, const std::string &name_r)
 Try to build a filesystem cap from name_r .
CapabilityImpl::Ptr parse (const Resolvable::Kind &refers_r, const std::string &strval_r)
CapabilityImpl::Ptr parse (const Resolvable::Kind &refers_r, const std::string &name_r, const std::string &op_r, const std::string &edition_r)
CapabilityImpl::Ptr parse (const Resolvable::Kind &refers_r, const std::string &name_r, Rel op_r, const Edition &edition_r)
template<class _Cap>
bool isKind (const CapabilityImpl::constPtr &cap)
 Test whether a CapabilityImpl is of a certain Kind.
template<class _Cap>
intrusive_ptr< const
_Cap > 
asKind (const CapabilityImpl::constPtr &cap)
 Short for dynamic_pointer_cast.
template<class _Cap>
intrusive_ptr< _Cap > asKind (const CapabilityImpl::Ptr &cap)
 Short for dynamic_pointer_cast.
template<class _Cap>
intrusive_ptr< const
_Cap > 
asKind (const Capability &cap)
 Access to Capability details.
const Pathname & sysconfigStoragePath ()
void modsplit (std::string &name_r, std::string &pkgname_r)
 If name_r contains 2 ':', the 1st part is a package name.
 DEFINE_PTR_TYPE (CapabilityImpl)


Typedef Documentation

typedef std::set<CapabilityImpl::Ptr> zypp::capability::CapabilityImplPtrSet

Definition at line 319 of file CapabilityImpl.h.


Function Documentation

static void zypp::capability::assertResKind ( const Resolvable::Kind &  refers_r  )  [static]

Assert a valid Resolvable::Kind.

Definition at line 62 of file CapabilityImpl.cc.

References ZYPP_THROW.

Referenced by buildFile(), buildNamed(), and buildVersioned().

bool zypp::capability::isEditionSpec ( Rel  op_r,
const Edition &  edition_r 
)

Check whether op_r and edition_r make a valid edition spec.

Rel::NONE is not usefull thus forbidden. Rel::ANY can be ignored, so no VersionedCap is needed for this. Everything else requires a VersionedCap.

Returns:
Whether to build a VersionedCap (i.e. op_r is not Rel::ANY.

Definition at line 68 of file CapabilityImpl.cc.

References zypp::Rel::inSwitch(), WAR, and ZYPP_THROW.

Referenced by buildVersioned().

bool zypp::capability::isFileSpec ( const std::string &  name_r  ) 

Test for a FileCap.

name_r starts with "/".

Definition at line 97 of file CapabilityImpl.cc.

Referenced by buildNamed(), and parse().

bool zypp::capability::isInterestingFileSpec ( const std::string &  name_r  ) 

Test for a FileCap that is likely being REQUIRED.

Files below /bin , /sbin , /lib etc. Scanning a packages filelist, an interesting FileCap might be worth being remembered in PROVIDES.

Definition at line 102 of file CapabilityImpl.cc.

References zypp::str::regex_match().

Referenced by zypp::parser::plaindir::makePackageDataFromHeader().

bool zypp::capability::isSplitSpec ( const std::string &  name_r  ) 

Test for a SplitCap.

name_r constains ":/".

Definition at line 112 of file CapabilityImpl.cc.

bool zypp::capability::isHalSpec ( const std::string &  name_r  ) 

Test for a HalCap.

name_r starts with "hal(".

Definition at line 117 of file CapabilityImpl.cc.

Referenced by parse().

bool zypp::capability::isModaliasSpec ( const std::string &  name_r  ) 

Test for a ModaliasCap.

name_r starts with "modalias(".

Definition at line 122 of file CapabilityImpl.cc.

Referenced by parse().

bool zypp::capability::isFilesystemSpec ( const std::string &  name_r  ) 

Test for a FilesystemCap.

name_r starts with "filesystem(".

Definition at line 127 of file CapabilityImpl.cc.

Referenced by buildNamed(), and parse().

CapabilityImpl::Ptr zypp::capability::buildFile ( const Resolvable::Kind &  refers_r,
const std::string &  name_r 
)

Try to build a file cap from name_r .

The CapabilityImpl is built here and inserted into _uset. The final Capability must be created by CapFactory, as it is a friend of Capability. Here we can't access the ctor.

Definition at line 132 of file CapabilityImpl.cc.

References assertResKind().

Referenced by zypp::parser::plaindir::makePackageDataFromHeader(), and parse().

CapabilityImpl::Ptr zypp::capability::buildNamed ( const Resolvable::Kind &  refers_r,
const std::string &  name_r 
)

Try to build a non versioned cap from name_r .

The CapabilityImpl is built here and inserted into _uset. The final Capability must be created by CapFactory, as it is a friend of Capability. Here we can't access the ctor.

Definition at line 147 of file CapabilityImpl.cc.

References assertResKind(), buildFilesystem(), isFileSpec(), isFilesystemSpec(), and zypp::str::regex_match().

Referenced by buildVersioned(), and parse().

CapabilityImpl::Ptr zypp::capability::buildVersioned ( const Resolvable::Kind &  refers_r,
const std::string &  name_r,
Rel  op_r,
const Edition &  edition_r 
)

Try to build a versioned cap from name_r .

The CapabilityImpl is built here and inserted into _uset. The final Capability must be created by CapFactory, as it is a friend of Capability. Here we can't access the ctor.

Todo:
Quick check for name not being filename or split.

Definition at line 181 of file CapabilityImpl.cc.

References assertResKind(), buildNamed(), and isEditionSpec().

Referenced by parse().

CapabilityImpl::Ptr zypp::capability::buildHal ( const Resolvable::Kind &  refers_r,
const std::string &  name_r,
Rel  op_r = Rel::ANY,
const std::string &  value_r = std::string() 
)

Try to build a hal cap from name_r .

The CapabilityImpl is built here The final Capability must be created by CapFactory, as it is a friend of Capability. Here we can't access the ctor.

Todo:
Fix incaccuracy.

Definition at line 199 of file CapabilityImpl.cc.

References zypp::Rel::asString(), zypp::str::regex_match(), and ZYPP_THROW.

Referenced by zypp::CapFactory::halEvalCap(), and parse().

CapabilityImpl::Ptr zypp::capability::buildModalias ( const Resolvable::Kind &  refers_r,
const std::string &  name_r,
Rel  op_r = Rel::ANY,
const std::string &  value_r = std::string() 
)

Try to build a modalias cap from name_r .

The CapabilityImpl is built here The final Capability must be created by CapFactory, as it is a friend of Capability. Here we can't access the ctor.

Todo:
Fix incaccuracy.

Definition at line 223 of file CapabilityImpl.cc.

References zypp::Rel::asString(), zypp::str::regex_match(), and ZYPP_THROW.

Referenced by zypp::CapFactory::modaliasEvalCap(), and parse().

CapabilityImpl::Ptr zypp::capability::buildFilesystem ( const Resolvable::Kind &  refers_r,
const std::string &  name_r 
)

Try to build a filesystem cap from name_r .

The CapabilityImpl is built here The final Capability must be created by CapFactory, as it is a friend of Capability. Here we can't access the ctor.

Todo:
Fix incaccuracy.

Definition at line 252 of file CapabilityImpl.cc.

References zypp::str::regex_match(), and ZYPP_THROW.

Referenced by buildNamed(), zypp::CapFactory::filesystemEvalCap(), and parse().

CapabilityImpl::Ptr zypp::capability::parse ( const Resolvable::Kind &  refers_r,
const std::string &  strval_r 
)

Definition at line 270 of file CapabilityImpl.cc.

References buildFile(), buildFilesystem(), buildHal(), buildModalias(), buildNamed(), buildVersioned(), DBG, isFileSpec(), isFilesystemSpec(), isHalSpec(), isModaliasSpec(), zypp::str::regex_match(), and ZYPP_CAUGHT.

Referenced by zypp::parser::yum::FileReaderBase::BaseImpl::consumeDependency(), zypp::parser::yum::FileReaderBase::BaseImpl::consumeFormatNode(), zypp::parser::susetags::ContentFileReader::parse(), zypp::CapFactory::parse(), and zypp::parser::susetags::ContentFileReader::Impl::setDependencies().

CapabilityImpl::Ptr zypp::capability::parse ( const Resolvable::Kind &  refers_r,
const std::string &  name_r,
const std::string &  op_r,
const std::string &  edition_r 
)

Definition at line 328 of file CapabilityImpl.cc.

References buildHal(), buildModalias(), isHalSpec(), isModaliasSpec(), and zypp::parse().

CapabilityImpl::Ptr zypp::capability::parse ( const Resolvable::Kind &  refers_r,
const std::string &  name_r,
Rel  op_r,
const Edition &  edition_r 
)

Definition at line 356 of file CapabilityImpl.cc.

References zypp::Edition::asString(), buildHal(), buildModalias(), buildVersioned(), isHalSpec(), and isModaliasSpec().

template<class _Cap>
bool zypp::capability::isKind ( const CapabilityImpl::constPtr &  cap  )  [inline]

Test whether a CapabilityImpl is of a certain Kind.

 isKind<FileCap>(cap);

Definition at line 284 of file CapabilityImpl.h.

template<class _Cap>
intrusive_ptr<const _Cap> zypp::capability::asKind ( const CapabilityImpl::constPtr &  cap  )  [inline]

Short for dynamic_pointer_cast.

Definition at line 289 of file CapabilityImpl.h.

template<class _Cap>
intrusive_ptr<_Cap> zypp::capability::asKind ( const CapabilityImpl::Ptr &  cap  )  [inline]

Short for dynamic_pointer_cast.

Definition at line 294 of file CapabilityImpl.h.

template<class _Cap>
intrusive_ptr<const _Cap> zypp::capability::asKind ( const Capability &  cap  )  [inline]

Access to Capability details.

Definition at line 299 of file CapabilityImpl.h.

References zypp::capability::CapabilityImpl::backdoor().

const Pathname& zypp::capability::@100::sysconfigStoragePath (  )  [static]

Definition at line 32 of file FilesystemCap.cc.

Referenced by zypp::capability::FilesystemCap::evaluate(), and zypp::capability::FilesystemCap::sysconfigStorageSerial().

void zypp::capability::modsplit ( std::string &  name_r,
std::string &  pkgname_r 
) [inline]

If name_r contains 2 ':', the 1st part is a package name.

Definition at line 30 of file ModaliasCap.cc.

Referenced by zypp::capability::ModaliasCap::ModaliasCap().

zypp::capability::DEFINE_PTR_TYPE ( CapabilityImpl   ) 


Generated on Tue Sep 25 19:23:18 2007 for libzypp by  doxygen 1.5.3