zypp::CapFactory Class Reference

Factory for creating Capability. More...

#include <CapFactory.h>

List of all members.

Public Member Functions

 CapFactory ()
 Default ctor.
 ~CapFactory ()
 Dtor.
Capability fromImpl (capability::CapabilityImpl::Ptr impl) const
 Create capability from Implementation impl is a valid CapabilityImpl Ptr.
Capability parse (const Resolvable::Kind &refers_r, const std::string &strval_r) const
 Parse Capability from string providing Resolvable::Kind.
template<class _Res>
Capability parse (const std::string &strval_r) const
Capability parse (const Resolvable::Kind &refers_r, const std::string &name_r, const std::string &op_r, const std::string &edition_r) const
 Parse Capability providing Resolvable::Kind, name, Rel and Edition as strings.
Capability parse (const Resolvable::Kind &refers_r, const std::string &name_r, Rel op_r, const Edition &edition_r) const
 Parse Capability providing Resolvable::Kind, name, Rel and Edition.
Capability halEvalCap () const
 Special Capability, triggering evaluation of Hal capabilities when matched.
Capability modaliasEvalCap () const
 Special Capability, triggering evaluation of modalias capabilities when matched.
Capability filesystemEvalCap () const
 Special Capability, triggering evaluation of filesystem capabilities when matched.
std::string encode (const Capability &cap_r) const
 Provide a parsable string representation of cap_r.

Private Attributes

RW_pointer< Impl_pimpl
 Pointer to implementation.

Friends

std::ostream & operator<< (std::ostream &str, const CapFactory &obj)
 Stream output.

Classes

struct  Impl
 CapFactory implementation. More...


Detailed Description

Factory for creating Capability.

Besides parsing, CapFactory asserts that equal capabilites share the same implementation.

Todo:
define EXCEPTIONS
Todo:
Parser needs improvement in speed and accuracy.

Definition at line 38 of file CapFactory.h.


Constructor & Destructor Documentation

zypp::CapFactory::CapFactory (  ) 

Default ctor.

Definition at line 168 of file CapFactory.cc.

zypp::CapFactory::~CapFactory (  ) 

Dtor.

Definition at line 176 of file CapFactory.cc.


Member Function Documentation

Capability zypp::CapFactory::fromImpl ( capability::CapabilityImpl::Ptr  impl  )  const

Create capability from Implementation impl is a valid CapabilityImpl Ptr.

Exceptions:
EXCEPTION on null capability

Definition at line 184 of file CapFactory.cc.

References usetInsert().

Referenced by zypp::target::rpm::insertCaps().

Capability zypp::CapFactory::parse ( const Resolvable::Kind refers_r,
const std::string &  strval_r 
) const

Parse Capability from string providing Resolvable::Kind.

strval_r is expected to define a valid Capability.

Exceptions:
EXCEPTION on parse error.

Definition at line 200 of file CapFactory.cc.

References zypp::capability::parse(), and usetInsert().

Referenced by zypp::storage::XMLFilesBackend::createCapability(), zypp::storage::XMLFilesBackend::createPatch(), zypp::target::rpm::RpmDb::doGetPackages(), zypp::solver::detail::ConflictProcess::operator()(), zypp::locks::AddLockToPool::operator()(), parse(), zypp::solver::detail::QueueItemUninstall::process(), zypp::solver::detail::QueueItemRequire::process(), and zypp::rewriteKernelDeps().

template<class _Res>
Capability zypp::CapFactory::parse ( const std::string &  strval_r  )  const [inline]

Definition at line 65 of file CapFactory.h.

References parse().

Capability zypp::CapFactory::parse ( const Resolvable::Kind refers_r,
const std::string &  name_r,
const std::string &  op_r,
const std::string &  edition_r 
) const

Parse Capability providing Resolvable::Kind, name, Rel and Edition as strings.

Exceptions:
EXCEPTION on parse error.

Definition at line 217 of file CapFactory.cc.

References zypp::capability::parse(), and usetInsert().

Capability zypp::CapFactory::parse ( const Resolvable::Kind refers_r,
const std::string &  name_r,
Rel  op_r,
const Edition edition_r 
) const

Parse Capability providing Resolvable::Kind, name, Rel and Edition.

Exceptions:
EXCEPTION on parse error.

Definition at line 236 of file CapFactory.cc.

References zypp::capability::parse(), and usetInsert().

Capability zypp::CapFactory::halEvalCap (  )  const

Special Capability, triggering evaluation of Hal capabilities when matched.

Definition at line 255 of file CapFactory.cc.

References zypp::capability::buildHal(), and usetInsert().

Capability zypp::CapFactory::modaliasEvalCap (  )  const

Special Capability, triggering evaluation of modalias capabilities when matched.

Definition at line 271 of file CapFactory.cc.

References zypp::capability::buildModalias(), and usetInsert().

Capability zypp::CapFactory::filesystemEvalCap (  )  const

Special Capability, triggering evaluation of filesystem capabilities when matched.

Definition at line 287 of file CapFactory.cc.

References zypp::capability::buildFilesystem(), and usetInsert().

std::string zypp::CapFactory::encode ( const Capability cap_r  )  const

Provide a parsable string representation of cap_r.

Definition at line 303 of file CapFactory.cc.

References zypp::Capability::_pimpl.

Referenced by zypp::storage::toXML().


Friends And Related Function Documentation

std::ostream & operator<< ( std::ostream &  str,
const CapFactory obj 
) [friend]

Stream output.

Definition at line 313 of file CapFactory.cc.


Member Data Documentation

RW_pointer<Impl> zypp::CapFactory::_pimpl [private]

Pointer to implementation.

Definition at line 106 of file CapFactory.h.


The documentation for this class was generated from the following files:
Generated on Tue Sep 25 19:23:14 2007 for libzypp by  doxygen 1.5.3