libzypp 17.37.17
zypp::ResObject Class Reference

Base for resolvable objects. More...

#include <zypp/ResObject.h>

Inheritance diagram for zypp::ResObject:

Public Types

using Self = ResObject
using TraitsType = ResTraits<Self>
using Ptr = TraitsType::PtrType
using constPtr = TraitsType::constPtrType
Public Types inherited from zypp::Resolvable
using Self = Resolvable
using TraitsType = ResTraits<Self>
using Kind = TraitsType::KindType
using Ptr = TraitsType::PtrType
using constPtr = TraitsType::constPtrType

Public Member Functions

template<class TRes>
ResTraits< TRes >::constPtrType asKind () const
 Convert this into a Ptr of a certain Kind.
template<class TRes>
ResTraits< TRes >::PtrType asKind ()
Vendor vendor () const
 Vendor.
Public Member Functions inherited from zypp::Resolvable
 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

 ResObject (const sat::Solvable &solvable_r)
 Ctor.
 ~ResObject () override
 Dtor.
std::ostream & dumpOn (std::ostream &str) const override
 Helper for stream output.
 operator sat::Solvable () const
 This is a sat::SolvableType (allow implicit conversion in derived classes).
Protected Member Functions inherited from zypp::Resolvable
 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.

Friends

ResObject::Ptr makeResObject (const sat::Solvable &solvable_r)
 Create ResObject from sat::Solvable.

(Note that these are not member symbols.)

template<class TRes>
ResTraits< TRes >::PtrType asKind (const ResObject::Ptr &p)
 Convert ResObject::Ptr into Ptr of a certain Kind.

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.
See also
makeResObject for how to construct ResObjects.
Todo
Merge with Resolvable

Definition at line 37 of file ResObject.h.

Member Typedef Documentation

◆ Self

Definition at line 40 of file ResObject.h.

◆ TraitsType

Definition at line 41 of file ResObject.h.

◆ Ptr

Definition at line 42 of file ResObject.h.

◆ constPtr

Constructor & Destructor Documentation

◆ ResObject()

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

Ctor.

Definition at line 23 of file ResObject.cc.

◆ ~ResObject()

zypp::ResObject::~ResObject ( )
overrideprotected

Dtor.

Definition at line 27 of file ResObject.cc.

Member Function Documentation

◆ asKind() [1/2]

template<class TRes>
ResTraits< TRes >::constPtrType zypp::ResObject::asKind ( ) const
inline

Convert this into a Ptr of a certain Kind.

This is a convenience to access type specific attributes.

Returns
NULL if this is not of the specified kind.
Package::constPtr pkg = pi->asKind<Package>();
if ( pi->isKind<Package>() )
DBG << pi->asKind<Package>()->keywords() << endl;
Package interface.
Definition Package.h:34
TraitsType::constPtrType constPtr
Definition Package.h:39
Combining sat::Solvable and ResStatus.
Definition PoolItem.h:51
#define DBG
Definition Logger.h:99

Definition at line 147 of file ResObject.h.

◆ asKind() [2/2]

template<class TRes>
ResTraits< TRes >::PtrType zypp::ResObject::asKind ( )
inline

Definition at line 151 of file ResObject.h.

◆ vendor()

Vendor zypp::ResObject::vendor ( ) const
inline

Vendor.

Deprecated
Though typedef'ed to std::string, Vendor is actually an IdString.

Definition at line 69 of file ResObject.h.

◆ dumpOn()

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

Helper for stream output.

Reimplemented from zypp::base::ReferenceCounted.

Definition at line 30 of file ResObject.cc.

◆ operator sat::Solvable()

zypp::ResObject::operator sat::Solvable ( ) const
inlineprotected

This is a sat::SolvableType (allow implicit conversion in derived classes).

Definition at line 81 of file ResObject.h.

◆ makeResObject

ResObject::Ptr makeResObject ( const sat::Solvable & solvable_r)
friend

Create ResObject from sat::Solvable.

This function creates the apropriate kind of ResObject depending on the sat::Solvables kind, and returns a smart pointer to it.

If the sat::Solvables kind is not convertible, a NULL pointer is returned.

TraitsType::PtrType Ptr
Definition Package.h:38
friend ResObject::Ptr makeResObject(const sat::Solvable &solvable_r)
Create ResObject from sat::Solvable.
Definition ResObject.cc:43
TraitsType::PtrType Ptr
Definition ResObject.h:42
A Solvable object within the sat Pool.
Definition Solvable.h:54
ResTraits< TRes >::PtrType make(const sat::Solvable &solvable_r)
Directly create a certain kind of ResObject from sat::Solvable.
Definition ResObject.h:118

Definition at line 43 of file ResObject.cc.

◆ asKind()

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

Convert ResObject::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 >::constPtrType asKind() const
Convert this into a Ptr of a certain Kind.
Definition ResObject.h:147

Definition at line 139 of file ResObject.h.


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