libzypp: zyppng::ResObject Class Reference

libzypp 17.38.14

zyppng::ResObject Class Reference

Base for resolvable objects. More...

`#include <zypp/ResObject.h>`

Inheritance diagram for zyppng::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
bool | isKind (const ResKind &kind_r) 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
Capability | patternProvides () const
bool | isPatternPackage () const
Capability | productProvides () const
bool | isProductPackage () 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
bool | identical (const Solvable &rhs) const
bool | sameNVRA (const Solvable &rhs) 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.
ReferenceCounted & | operator= (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 ()
SolvableType & | operator= (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.

## 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

using zypp::ResObject::Self = ResObject

Definition at line 40 of file ResObject.h.

## ◆ TraitsType

using zypp::ResObject::TraitsType = ResTraits<Self>

Definition at line 41 of file ResObject.h.

## ◆ Ptr

using zypp::ResObject::Ptr = TraitsType::PtrType

Definition at line 42 of file ResObject.h.

## ◆ constPtr

using zypp::ResObject::constPtr = TraitsType::constPtrType

Definition at line 43 of file ResObject.h.

## 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.
  PoolItem pi;
  Package::constPtr pkg = pi->asKind<Package>();
  if ( pi->isKind<Package>() )
  DBG << pi->asKind<Package>()->keywords() << endl;
  DBG
  #define DBG
  Definition Logger.h:102
  zypp::Package
  Package interface.
  Definition Package.h:34
  zypp::PoolItem
  Combining sat::Solvable and ResStatus.
  Definition PoolItem.h:51
  zyppng::Package::constPtr
  TraitsType::constPtrType constPtr
  Definition Package.h:39

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.

## Friends And Related Symbol Documentation

## ◆ 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.

sat::Solvable s;
ResObject::Ptr p( makeResObject( s ) );
ResObject::Ptr q( make<ResObject>( s ) );
Package::Ptr pkg( make<Package>( s ) );
zyppng::Package::Ptr
TraitsType::PtrType Ptr
Definition Package.h:38
zyppng::ResObject::makeResObject
friend ResObject::Ptr makeResObject(const sat::Solvable &solvable_r)
Create ResObject from sat::Solvable.
Definition ResObject.cc:43
zyppng::ResObject::Ptr
TraitsType::PtrType Ptr
Definition ResObject.h:42
zyppng::sat::Solvable
A Solvable object within the sat Pool.
Definition solvable.h:66
zypp::make
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.

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

- zypp/ResObject.h
- zypp/ResObject.cc