libzypp  17.3.0
zypp::Resolvable Class Reference

Base for resolvable objects. More...

#include <Resolvable.h>

Inheritance diagram for zypp::Resolvable:

Public Types

typedef Resolvable Self
 
typedef ResTraits< SelfTraitsType
 
typedef TraitsType::KindType Kind
 
typedef TraitsType::PtrType Ptr
 
typedef TraitsType::constPtrType constPtr
 

Public Member Functions

 operator sat::Solvable () const
 This is a sat::SolvableType. More...
 
PoolItem poolItem () const
 Access the corresponding PoolItem. More...
 
- Public Member Functions inherited from zypp::sat::SolvableType< Resolvable >
Solvable satSolvable () const
 Return the corresponding sat::Solvable. More...
 
 operator bool () const
 
IdString ident () const
 
ResKind kind () const
 
bool isKind (const ResKind &kind_r) const
 
bool isKind () const
 
bool isKind (TIterator begin, TIterator end) 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
 
Date buildtime () const
 
Date installtime () const
 
std::string asString () const
 
std::string asUserString () const
 
bool identical (const Solvable &rhs) const
 
bool identical (const SolvableType< RDerived > &rhs) const
 
bool sameNVRA (const Solvable &rhs) const
 
bool sameNVRA (const SolvableType< RDerived > &rhs) const
 
Capabilities provides () const
 
Capabilities requires () const
 
Capabilities conflicts () const
 
Capabilities obsoletes () const
 
Capabilities recommends () const
 
Capabilities suggests () const
 
Capabilities enhances () const
 
Capabilities supplements () const
 
Capabilities prerequires () const
 
Capabilities dep (Dep which_r) const
 
Capabilities operator[] (Dep which_r) 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 supportsLocale (const LocaleSet &locales_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
 
std::string lookupStrAttribute (const SolvAttr &attr, const Locale &lang_r) const
 
bool lookupBoolAttribute (const SolvAttr &attr) const
 
detail::IdType lookupIdAttribute (const SolvAttr &attr) const
 
unsigned long long lookupNumAttribute (const SolvAttr &attr) const
 
unsigned long long lookupNumAttribute (const SolvAttr &attr, unsigned long long notfound_r) 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. More...
 
 ReferenceCounted (const ReferenceCounted &rhs)
 Copy ctor. More...
 
virtual ~ReferenceCounted ()
 Dtor. More...
 
ReferenceCountedoperator= (const ReferenceCounted &)
 Assignment. More...
 
unsigned refCount () const
 Return reference counter value. More...
 
void ref () const
 Add a reference. More...
 
void unref () const
 Release a reference. More...
 

Protected Member Functions

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

Private Attributes

sat::Solvable _solvable
 

Friends

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

Related Functions

(Note that these are not member functions.)

std::ostream & operator<< (std::ostream &str, const Resolvable &obj)
 
std::ostream & dumpOn (std::ostream &str, const Resolvable &obj)
 
template<class TRes >
bool isKind (const Resolvable::constPtr &p)
 Test whether a Resolvable::Ptr is of a certain Kind. More...
 
template<class TRes >
ResTraits< TRes >::PtrType asKind (const Resolvable::Ptr &p)
 Convert Resolvable::Ptr into Ptr of a certain Kind. More...
 
int compareByN (const Resolvable::constPtr &lhs, const Resolvable::constPtr &rhs)
 
int compareByNVR (const Resolvable::constPtr &lhs, const Resolvable::constPtr &rhs)
 
int compareByNVRA (const Resolvable::constPtr &lhs, const Resolvable::constPtr &rhs)
 

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. More...
 
static void release (const ReferenceCounted *ptr_r)
 Called by zypp::intrusive_ptr to add a reference. More...
 

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 ( )
protectedvirtual

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
protectedvirtual

Helper for stream output.

Reimplemented from zypp::base::ReferenceCounted.

Reimplemented in zypp::ResObject.

Definition at line 31 of file Resolvable.cc.

Friends And Related Function Documentation

◆ 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.
isKind<Package>(resPtr);

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.
asKind<Package>(resPtr);

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: