#include <CapabilityImpl.h>
Public Types | |
| typedef CapabilityImpl | Self |
| typedef CapabilityImpl_Ptr | Ptr |
| typedef CapabilityImpl_constPtr | constPtr |
| typedef CapabilityTraits::KindType | Kind |
Public Member Functions | |
| virtual const Kind & | kind () const =0 |
| Kind of capability. | |
| const Resolvable::Kind & | refers () const |
Kind of Resolvable this refers to. | |
| virtual bool | relevant () const |
| Relevant per default. | |
| virtual CapMatch | matches (const constPtr &rhs) const =0 |
| Return whether the Capabilities match. | |
| virtual std::string | encode () const =0 |
| The string representation that enables CapFactory to recreate this capability. | |
| virtual std::string | asString () const |
| More or less human readable representation as string. | |
| virtual std::string | index () const |
Static Public Member Functions | |
| static SplitInfo | getSplitInfo (const Capability &cap) |
| Solver hack. | |
| static constPtr | backdoor (const Capability &cap) |
| Access to Capability details. | |
Protected Member Functions | |
| CapabilityImpl (const Resolvable::Kind &refers_r) | |
Ctor taking the kind of Resolvable this refers to. | |
| bool | sameKind (const constPtr &rhs) const |
| bool | sameRefers (const constPtr &rhs) const |
| bool | sameKindAndRefers (const constPtr &rhs) const |
| virtual std::ostream & | dumpOn (std::ostream &str) const |
| Helper for stream output. | |
Private Member Functions | |
| virtual bool | capImplOrderLess (const constPtr &rhs) const |
| Helper for CapImplOrder to define an order relation. | |
Private Attributes | |
| Resolvable::Kind | _refers |
Kind of Resolvable this refers to. | |
Friends | |
| struct | CapImplOrder |
Classes | |
| struct | SplitInfo |
| Solver hack. More... | |
Example: Adding a new kind of capability: FilesystemCap
1) Create the implementataion files
zypp/capability/FilesystemCap.h
zypp/capability/FilesystemCap.cc
for
class FilesystemCap : public CapabilityImpl
2) Add include in zypp/capability/Capabilities.h
#include "zypp/capability/FilesystemCap.h"
3) Add forward declaration in zypp/capability/CapTraits.h
class FilesystemCap;
4) Define the capabilities kind in zypp/capability/CapTraits.cc
template<>
const CapabilityTraits::KindType CapTraits<FilesystemCap> ::kind( "FilesystemCap" );
5) If needed, define the EvalCap in zypp/CapFactory.h
Capability filesystemEvalCap() const;
What's this?
Some capabilities are not evaluated by comparing 2 capabilities, but represent a query
for some system property: 'filesystem(xfs)' -> 'xfs is listed in /etc/sysconfig/stoage'.
The query is performed iff the capability is compared to a special EvalCap, which is usg.
provided by a special SystemResolvable>
<System> : provides : filesystem() // the filesystemEvalCap
<Package>: supplements : filesystem(xfs) // a package that supplements xfs filesystem
Definition at line 66 of file CapabilityImpl.h.
Reimplemented in zypp::capability::FileCap, zypp::capability::FilesystemCap, zypp::capability::HalCap, zypp::capability::ModaliasCap, zypp::capability::NamedCap, zypp::capability::NullCap, zypp::capability::SplitCap, and zypp::capability::VersionedCap.
Definition at line 69 of file CapabilityImpl.h.
| typedef CapabilityImpl_Ptr zypp::capability::CapabilityImpl::Ptr |
Reimplemented in zypp::capability::FileCap, zypp::capability::FilesystemCap, zypp::capability::HalCap, zypp::capability::ModaliasCap, zypp::capability::NamedCap, and zypp::capability::SplitCap.
Definition at line 70 of file CapabilityImpl.h.
| typedef CapabilityImpl_constPtr zypp::capability::CapabilityImpl::constPtr |
Reimplemented in zypp::capability::FileCap, zypp::capability::FilesystemCap, zypp::capability::HalCap, zypp::capability::ModaliasCap, zypp::capability::NamedCap, and zypp::capability::SplitCap.
Definition at line 71 of file CapabilityImpl.h.
Definition at line 73 of file CapabilityImpl.h.
| zypp::capability::CapabilityImpl::CapabilityImpl | ( | const Resolvable::Kind & | refers_r | ) | [protected] |
| virtual const Kind& zypp::capability::CapabilityImpl::kind | ( | ) | const [pure virtual] |
Kind of capability.
Implemented in zypp::capability::FileCap, zypp::capability::FilesystemCap, zypp::capability::HalCap, zypp::capability::ModaliasCap, zypp::capability::NamedCap, zypp::capability::NullCap, and zypp::capability::SplitCap.
Referenced by dumpOn().
| const Resolvable::Kind& zypp::capability::CapabilityImpl::refers | ( | ) | const [inline] |
Kind of Resolvable this refers to.
Definition at line 80 of file CapabilityImpl.h.
Referenced by dumpOn().
| virtual bool zypp::capability::CapabilityImpl::relevant | ( | ) | const [inline, virtual] |
Relevant per default.
Reimplemented in zypp::capability::NullCap, and zypp::capability::SplitCap.
Definition at line 84 of file CapabilityImpl.h.
| virtual CapMatch zypp::capability::CapabilityImpl::matches | ( | const constPtr & | rhs | ) | const [pure virtual] |
Return whether the Capabilities match.
Implemented in zypp::capability::FileCap, zypp::capability::FilesystemCap, zypp::capability::HalCap, zypp::capability::ModaliasCap, zypp::capability::NamedCap, zypp::capability::NullCap, and zypp::capability::SplitCap.
| virtual std::string zypp::capability::CapabilityImpl::encode | ( | ) | const [pure virtual] |
The string representation that enables CapFactory to recreate this capability.
Implemented in zypp::capability::FileCap, zypp::capability::FilesystemCap, zypp::capability::HalCap, zypp::capability::ModaliasCap, zypp::capability::NamedCap, zypp::capability::NullCap, zypp::capability::SplitCap, and zypp::capability::VersionedCap.
Referenced by capImplOrderLess().
| virtual std::string zypp::capability::CapabilityImpl::asString | ( | ) | const [inline, virtual] |
More or less human readable representation as string.
Suitable for displaying it at the UI. Defaults to encode.
Definition at line 102 of file CapabilityImpl.h.
References zypp::url::encode().
Referenced by dumpOn().
| virtual std::string zypp::capability::CapabilityImpl::index | ( | ) | const [inline, virtual] |
Reimplemented in zypp::capability::FilesystemCap, zypp::capability::HalCap, zypp::capability::ModaliasCap, and zypp::capability::VersionedCap.
Definition at line 110 of file CapabilityImpl.h.
References zypp::url::encode().
| CapabilityImpl::SplitInfo zypp::capability::CapabilityImpl::getSplitInfo | ( | const Capability & | cap | ) | [static] |
Solver hack.
Definition at line 40 of file SplitCap.cc.
References zypp::Capability::_pimpl, zypp::capability::CapabilityImpl::SplitInfo::name, and zypp::capability::CapabilityImpl::SplitInfo::path.
| static constPtr zypp::capability::CapabilityImpl::backdoor | ( | const Capability & | cap | ) | [inline, static] |
Access to Capability details.
Definition at line 124 of file CapabilityImpl.h.
References zypp::Capability::_pimpl.
Referenced by zypp::capability::asKind().
| bool zypp::capability::CapabilityImpl::sameKind | ( | const constPtr & | rhs | ) | const [inline, protected] |
Definition at line 132 of file CapabilityImpl.h.
| bool zypp::capability::CapabilityImpl::sameRefers | ( | const constPtr & | rhs | ) | const [inline, protected] |
Definition at line 135 of file CapabilityImpl.h.
| bool zypp::capability::CapabilityImpl::sameKindAndRefers | ( | const constPtr & | rhs | ) | const [inline, protected] |
Definition at line 138 of file CapabilityImpl.h.
Referenced by zypp::capability::NamedCap::matches(), zypp::capability::ModaliasCap::matches(), zypp::capability::HalCap::matches(), zypp::capability::FilesystemCap::matches(), and zypp::capability::FileCap::matches().
| std::ostream & zypp::capability::CapabilityImpl::dumpOn | ( | std::ostream & | str | ) | const [protected, virtual] |
Helper for stream output.
Reimplemented from zypp::base::ReferenceCounted.
Definition at line 54 of file CapabilityImpl.cc.
References asString(), kind(), and refers().
| bool zypp::capability::CapabilityImpl::capImplOrderLess | ( | const constPtr & | rhs | ) | const [private, virtual] |
Helper for CapImplOrder to define an order relation.
refers and kind values are equal to this. Implementation may concentrate on the remaining values.Definition at line 44 of file CapabilityImpl.cc.
References encode().
friend struct CapImplOrder [friend] |
Definition at line 150 of file CapabilityImpl.h.
1.5.3