libzypp 17.37.17
zypp::Resolvable Class Reference

Base for resolvable objects. More...

#include <zypp/Resolvable.h>

Inheritance diagram for zypp::Resolvable:

Public Types

using Self = Resolvable
using TraitsType = ResTraits<Self>
using Kind = TraitsType::KindType
using Ptr = TraitsType::PtrType
using constPtr = TraitsType::constPtrType

Public Member Functions

 operator sat::Solvable () const
 This is a sat::SolvableType.
PoolItem poolItem () const
 Access the corresponding PoolItem.
Public Member Functions inherited from zypp::sat::SolvableType< Resolvable >
Solvable satSolvable () const
 Return the corresponding sat::Solvable.
 operator bool () const
IdString ident () const
ResKind kind () const
std::string name () const
Edition edition () const
Arch arch () const
IdString vendor () const
Repository repository () const
RepoInfo repoInfo () const
bool isSystem () const
bool onSystemByUser () const
bool onSystemByAuto () const
bool identIsAutoInstalled () const
bool multiversionInstall () const
bool isNeedreboot () const
bool isBlacklisted () const
bool isRetracted () const
bool isPtf () const
bool isPtfMaster () const
bool isPtfPackage () const
Date buildtime () const
Date installtime () const
std::string asString () const
std::string asUserString () const
Capabilities dep_provides () const
Capabilities dep_requires () const
Capabilities dep_conflicts () const
Capabilities dep_obsoletes () const
Capabilities dep_recommends () const
Capabilities dep_suggests () const
Capabilities dep_enhances () const
Capabilities dep_supplements () const
Capabilities dep_prerequires () const
Capabilities dep (Dep which_r) const
Capabilities operator[] (Dep which_r) const
Capabilities provides () const
Capabilities conflicts () const
Capabilities obsoletes () const
Capabilities recommends () const
Capabilities suggests () const
Capabilities enhances () const
Capabilities supplements () const
Capabilities prerequires () const
CapabilitySet providesNamespace (const std::string &namespace_r) const
CapabilitySet valuesOfNamespace (const std::string &namespace_r) const
bool supportsLocales () const
bool supportsLocale (const Locale &locale_r) const
bool supportsRequestedLocales () const
LocaleSet getSupportedLocales () const
CpeId cpeId () const
unsigned mediaNr () const
ByteCount installSize () const
ByteCount downloadSize () const
std::string distribution () const
std::string summary (const Locale &lang_r=Locale()) const
std::string description (const Locale &lang_r=Locale()) const
std::string insnotify (const Locale &lang_r=Locale()) const
std::string delnotify (const Locale &lang_r=Locale()) const
std::string licenseToConfirm (const Locale &lang_r=Locale()) const
bool needToAcceptLicense () const
std::string lookupStrAttribute (const SolvAttr &attr) const
bool lookupBoolAttribute (const SolvAttr &attr) const
detail::IdType lookupIdAttribute (const SolvAttr &attr) const
unsigned long long lookupNumAttribute (const SolvAttr &attr) const
CheckSum lookupCheckSumAttribute (const SolvAttr &attr) const
OnMediaLocation lookupLocation () const
Solvable::IdType id () const
Public Member Functions inherited from zypp::base::ReferenceCounted
 ReferenceCounted ()
 Default ctor.
 ReferenceCounted (const ReferenceCounted &rhs)
 Copy ctor.
virtual ~ReferenceCounted ()
 Dtor.
ReferenceCountedoperator= (const ReferenceCounted &)
 Assignment.
unsigned refCount () const
 Return reference counter value.
void ref () const
 Add a reference.
void unref () const
 Release a reference.

Protected Member Functions

 Resolvable (const sat::Solvable &solvable_r)
 Ctor.
 ~Resolvable () override
 Dtor.
std::ostream & dumpOn (std::ostream &str) const override
 Helper for stream output.
Protected Member Functions inherited from zypp::sat::SolvableType< Resolvable >
 SolvableType ()
SolvableTypeoperator= (const SolvableType &)=default
 ~SolvableType ()
Protected Member Functions inherited from zypp::base::ReferenceCounted
virtual void ref_to (unsigned) const
 Trigger derived classes after refCount was increased.
virtual void unref_to (unsigned) const
 Trigger derived classes after refCount was decreased.

Private Attributes

sat::Solvable _solvable

Friends

std::ostream & operator<< (std::ostream &str, const Resolvable &obj)

(Note that these are not member symbols.)

std::ostream & operator<< (std::ostream &str, const Resolvable &obj)
 Stream output.
std::ostream & dumpOn (std::ostream &str, const Resolvable &obj)
 More verbose stream output including dependencies.
template<class TRes>
bool isKind (const Resolvable::constPtr &p)
 Test whether a Resolvable::Ptr is of a certain Kind.
template<class TRes>
ResTraits< TRes >::PtrType asKind (const Resolvable::Ptr &p)
 Convert Resolvable::Ptr into Ptr of a certain Kind.
int compareByN (const Resolvable::constPtr &lhs, const Resolvable::constPtr &rhs)
 Compare Resolvable::constPtr according to kind and name.
int compareByNVR (const Resolvable::constPtr &lhs, const Resolvable::constPtr &rhs)
 Compare according to kind, name and edition.
int compareByNVRA (const Resolvable::constPtr &lhs, const Resolvable::constPtr &rhs)
 Compare Resolvable::constPtr according to kind, name, edition and arch.

Additional Inherited Members

Static Public Member Functions inherited from zypp::base::ReferenceCounted
static void add_ref (const ReferenceCounted *ptr_r)
 Called by zypp::intrusive_ptr to add a reference.
static void release (const ReferenceCounted *ptr_r)
 Called by zypp::intrusive_ptr to add a reference.
Public Attributes inherited from zypp::sat::SolvableType< Resolvable >
Capabilities const

Detailed Description

Base for resolvable objects.

Note
Resolvable is a SolvableType, which provides direct access to many of the underlying sat::Solvables properties. Don't add common properties here, but in sat::Solvable and extend sat::SolvableType.

In most cases you want to retrieve the common properties directly from a PoolItem or sat::Solvable. Construction from and explicit conversion to sat::Solvable are supported. Next goal is to get rid of the smart pointer hierarchy. A Resolvable is actually an unsigned and derived classes contain no data, so it makes little sense to wrap this into ReferenceCounted smart pointer.

Todo

Merge with ResObject

Get rid of refcout/smart_prt bloat, as this type is actually IdBased (i.e. sizeof(unsigned))

Definition at line 49 of file Resolvable.h.

Member Typedef Documentation

◆ Self

Definition at line 55 of file Resolvable.h.

◆ TraitsType

Definition at line 56 of file Resolvable.h.

◆ Kind

Definition at line 57 of file Resolvable.h.

◆ Ptr

Definition at line 58 of file Resolvable.h.

◆ constPtr

Constructor & Destructor Documentation

◆ Resolvable()

zypp::Resolvable::Resolvable ( const sat::Solvable & solvable_r)
protected

Ctor.

Definition at line 21 of file Resolvable.cc.

◆ ~Resolvable()

zypp::Resolvable::~Resolvable ( )
overrideprotected

Dtor.

Definition at line 25 of file Resolvable.cc.

Member Function Documentation

◆ operator sat::Solvable()

zypp::Resolvable::operator sat::Solvable ( ) const
inlineexplicit

This is a sat::SolvableType.

Definition at line 63 of file Resolvable.h.

◆ poolItem()

PoolItem zypp::Resolvable::poolItem ( ) const

Access the corresponding PoolItem.

Definition at line 28 of file Resolvable.cc.

◆ dumpOn()

std::ostream & zypp::Resolvable::dumpOn ( std::ostream & str) const
overrideprotectedvirtual

Helper for stream output.

Reimplemented from zypp::base::ReferenceCounted.

Definition at line 31 of file Resolvable.cc.

◆ operator<< [1/2]

std::ostream & operator<< ( std::ostream & str,
const Resolvable & obj )
friend

◆ operator<<() [2/2]

std::ostream & operator<< ( std::ostream & str,
const Resolvable & obj )
related

Stream output.

Definition at line 83 of file Resolvable.h.

◆ dumpOn()

std::ostream & dumpOn ( std::ostream & str,
const Resolvable & obj )
related

More verbose stream output including dependencies.

Definition at line 87 of file Resolvable.h.

◆ isKind()

template<class TRes>
bool isKind ( const Resolvable::constPtr & p)
related

Test whether a Resolvable::Ptr is of a certain Kind.

Returns
Ture iff p is not NULL and points to a Resolvable of the specified Kind.
bool isKind(const Resolvable::constPtr &p)
Test whether a Resolvable::Ptr is of a certain Kind.
Definition Resolvable.h:99

Definition at line 99 of file Resolvable.h.

◆ asKind()

template<class TRes>
ResTraits< TRes >::PtrType asKind ( const Resolvable::Ptr & p)
related

Convert Resolvable::Ptr into Ptr of a certain Kind.

Returns
NULL iff p is NULL or points to a Resolvable not of the specified Kind.
ResTraits< TRes >::PtrType asKind(const Resolvable::Ptr &p)
Convert Resolvable::Ptr into Ptr of a certain Kind.
Definition Resolvable.h:122

Definition at line 122 of file Resolvable.h.

◆ compareByN()

int compareByN ( const Resolvable::constPtr & lhs,
const Resolvable::constPtr & rhs )
related

Compare Resolvable::constPtr according to kind and name.

Deprecated
Get rid of refcout/smart_prt bloat, use

Definition at line 134 of file Resolvable.h.

◆ compareByNVR()

int compareByNVR ( const Resolvable::constPtr & lhs,
const Resolvable::constPtr & rhs )
related

Compare according to kind, name and edition.

Definition at line 148 of file Resolvable.h.

◆ compareByNVRA()

int compareByNVRA ( const Resolvable::constPtr & lhs,
const Resolvable::constPtr & rhs )
related

Compare Resolvable::constPtr according to kind, name, edition and arch.

Definition at line 162 of file Resolvable.h.

Member Data Documentation

◆ _solvable

sat::Solvable zypp::Resolvable::_solvable
private

Definition at line 78 of file Resolvable.h.


The documentation for this class was generated from the following files: