libzypp  13.10.6
zypp::Product Class Reference

Product interface. More...

#include <Product.h>

Inheritance diagram for zypp::Product:
zypp::ResObject zypp::Resolvable zypp::sat::Solvable zypp::base::ReferenceCounted zypp::sat::detail::PoolMember

Classes

class  UrlList
 Helper to iterate a products URL lists. More...
 

Public Types

typedef Product Self
 
typedef ResTraits< SelfTraitsType
 
typedef TraitsType::PtrType Ptr
 
typedef TraitsType::constPtrType constPtr
 
typedef std::vector< constPtrReplacedProducts
 
- Public Types inherited from zypp::ResObject
typedef ResObject Self
 
typedef ResTraits< SelfTraitsType
 
typedef TraitsType::PtrType Ptr
 
typedef TraitsType::constPtrType constPtr
 
- Public Types inherited from zypp::Resolvable
typedef Resolvable Self
 
typedef ResTraits< SelfTraitsType
 
typedef TraitsType::KindType Kind
 
typedef TraitsType::PtrType Ptr
 
typedef TraitsType::constPtrType constPtr
 

Public Member Functions

sat::Solvable referencePackage () const
 The reference package providing the product metadata, if such a package exists. More...
 
std::string referenceFilename () const
 For installed products the name of the coddesponding /etc/products.d entry. More...
 
CapabilitySet droplist () const
 List of packages included in older versions of this product and now dropped. More...
 
ReplacedProducts replacedProducts () const
 Array of installed Products that would be replaced by installing this one. More...
 
std::string productLine () const
 Vendor specific string denoting the product line. More...
 
std::string shortName () const
 Untranslated short name like SLES 10 More...
 
std::string flavor () const
 The product flavor (LiveCD Demo, FTP edition,...). More...
 
std::string type () const
 Get the product type Well, in an ideal world there is only one base product. More...
 
std::list< std::string > flags () const
 The product flags. More...
 
bool isTargetDistribution () const
 This is the installed product that is also targeted by the /etc/products.d/baseproduct symlink. More...
 
std::string registerTarget () const
 This is register.target attribute of an installed product. More...
 
std::string registerRelease () const
 This is register.release attribute of an installed product. More...
 
UrlList urls (const std::string &key_r) const
 Rerieve urls flagged with key_r for this product. More...
 
UrlList releaseNotesUrls () const
 The URL to download the release notes for this product. More...
 
UrlList registerUrls () const
 The URL for registration. More...
 
UrlList smoltUrls () const
 The URL for SMOLT. More...
 
UrlList updateUrls () const
 Online updates for the product. More...
 
UrlList extraUrls () const
 Additional software for the product They are complementary, not alternatives. More...
 
UrlList optionalUrls () const
 Optional software for the product. More...
 
- Public Member Functions inherited from zypp::ResObject
template<class _Res >
ResTraits< _Res >::constPtrType asKind () const
 Convert this into a Ptr of a certain Kind. More...
 
template<class _Res >
ResTraits< _Res >::PtrType asKind ()
 
std::string summary (const Locale &lang_r=Locale()) const
 Short text describing the resolvable. More...
 
std::string description (const Locale &lang_r=Locale()) const
 Long text describing the resolvable. More...
 
std::string insnotify (const Locale &lang_r=Locale()) const
 Installation Notification. More...
 
std::string delnotify (const Locale &lang_r=Locale()) const
 De-Installation Notification. More...
 
std::string licenseToConfirm (const Locale &lang_r=Locale()) const
 License or agreement to accept. More...
 
bool needToAcceptLicense () const
 Acceptance of Product License needed? More...
 
Vendor vendor () const
 Vendor. More...
 
std::string distribution () const
 The distribution string. More...
 
std::string cpeId () const
 The Common Platform Enumeration name for this product. More...
 
ByteCount installSize () const
 Installed size. More...
 
ByteCount downloadSize () const
 Size of the rpm package. More...
 
Repository repository () const
 
RepoInfo repoInfo () const
 RepoInfo associated with the repository providing this resolvable. More...
 
unsigned mediaNr () const
 Media number where the resolvable is located 0 if no media access is required. More...
 
Date buildtime () const
 build time of the resolvable More...
 
Date installtime () const
 Installation time 0 if the resolvable is not installed. More...
 
const DiskUsagediskusage () const
 Disk usage per directory A common attribute, although mostly packages require noticeable disk space. More...
 
bool supportsLocales () const
 
bool supportsLocale (const Locale &locale_r) const
 
bool supportsLocale (const LocaleSet &locales_r) const
 
bool supportsRequestedLocales () const
 
LocaleSet getSupportedLocales () const
 
- Public Member Functions inherited from zypp::Resolvable
bool isSystem () const
 Whether this represents an installed solvable. More...
 
bool onSystemByUser () const
 Whether this is known to be installed on behalf of a user request. More...
 
IdString ident () const
 
ResKind kind () const
 
bool isKind (const ResKind &kind_r) const
 
template<class _Res >
bool isKind () const
 
std::string name () const
 
Edition edition () const
 
Arch arch () const
 
bool multiversionInstall () const
 Whether different versions of this package can be installed at the same time. More...
 
const sat::SolvablesatSolvable () const
 Access the corresponding ::Solvable. More...
 
PoolItem poolItem () const
 Access the corresponding PoolItem. More...
 
Capabilities dep (Dep which_r) const
 Select by Dep. More...
 
Capabilities operator[] (Dep which_r) 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
 
CapabilitySet providesNamespace (const std::string &namespace_r) const
 
CapabilitySet valuesOfNamespace (const std::string &namespace_r) 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

 Product (const sat::Solvable &solvable_r)
 Ctor. More...
 
virtual ~Product ()
 Dtor. More...
 
- Protected Member Functions inherited from zypp::ResObject
 ResObject (const sat::Solvable &solvable_r)
 Ctor. More...
 
virtual ~ResObject ()
 Dtor. More...
 
virtual std::ostream & dumpOn (std::ostream &str) const
 Helper for stream output. More...
 
- Protected Member Functions inherited from zypp::Resolvable
 Resolvable (const sat::Solvable &solvable_r)
 Ctor. More...
 
virtual ~Resolvable ()
 Dtor. More...
 
- Protected Member Functions inherited from zypp::sat::Solvable
 Solvable ()
 Default ctor creates noSolvable. More...
 
 Solvable (IdType id_r)
 PoolImpl ctor. More...
 
 operator bool () const
 Evaluate Solvable in a boolean context (!= noSolvable). More...
 
bool isSystem () const
 Return whether this Solvable belongs to the system repo. More...
 
bool onSystemByUser () const
 Whether this is known to be installed on behalf of a user request. More...
 
Repository repository () const
 The Repository this Solvable belongs to. More...
 
IdString ident () const
 The identifier. More...
 
ResKind kind () const
 
bool isKind (const ResKind &kind_r) const
 Test whether a Solvable is of a certain ResKind. More...
 
template<class _Res >
bool isKind () const
 
template<class _Iterator >
bool isKind (_Iterator begin, _Iterator end)
 
std::string name () const
 
Edition edition () const
 
Arch arch () const
 
IdString vendor () const
 
bool multiversionInstall () const
 Whether different versions of this package can be installed at the same time. More...
 
std::string asString () const
 String representation "ident-edition.arch" or "noSolvable". More...
 
std::string asUserString () const
 String representation "ident-edition.arch(repo)" or "noSolvable". More...
 
bool identical (Solvable rhs) const
 Test whether two Solvables have the same content. More...
 
bool sameNVRA (Solvable rhs) const
 Test for same name-version-release.arch. More...
 
Solvable nextInPool () const
 Return next Solvable in Pool (or noSolvable). More...
 
Solvable nextInRepo () const
 Return next Solvable in Repo (or noSolvable). More...
 
::_Solvable * get () const
 Expert backdoor. More...
 
IdType id () const
 Expert backdoor. More...
 
std::string lookupStrAttribute (const SolvAttr &attr) const
 returns the string attribute value for attr or an empty string if it does not exists. More...
 
std::string lookupStrAttribute (const SolvAttr &attr, const Locale &lang_r) const
 
unsigned long long lookupNumAttribute (const SolvAttr &attr) const
 returns the numeric attribute value for attr or 0 if it does not exists. More...
 
bool lookupBoolAttribute (const SolvAttr &attr) const
 returns the boolean attribute value for attr or false if it does not exists. More...
 
detail::IdType lookupIdAttribute (const SolvAttr &attr) const
 returns the id attribute value for attr or detail::noId if it does not exists. More...
 
CheckSum lookupCheckSumAttribute (const SolvAttr &attr) const
 returns the CheckSum attribute value for attr or an empty CheckSum if ir does not exist. More...
 
OnMediaLocation lookupLocation () const
 returns OnMediaLocation data: This is everything we need to download e.g. More...
 
Capabilities operator[] (Dep which_r) 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
 
CapabilitySet providesNamespace (const std::string &namespace_r) const
 Return the namespaced provides 'namespace([value])[ op edition]' of this Solvable. More...
 
CapabilitySet valuesOfNamespace (const std::string &namespace_r) const
 Return 'value[ op edition]' for namespaced provides 'namespace(value)[ op edition]'. More...
 
bool supportsLocales () const
 Whether this Solvable claims to support locales. More...
 
bool supportsLocale (const Locale &locale_r) const
 Whether this Solvable supports a specific Locale. More...
 
bool supportsLocale (const LocaleSet &locales_r) const
 Whether this Solvable supports at least one of the specified locales. More...
 
bool supportsRequestedLocales () const
 Whether this Solvable supports at least one requested locale. More...
 
void getSupportedLocales (LocaleSet &locales_r) const
 Return the supported locales via locales_r. More...
 
LocaleSet getSupportedLocales () const
 
- 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...
 
 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...
 

Friends

Ptr make (const sat::Solvable &solvable_r)
 Directly create a certain kind of ResObject from sat::Solvable. More...
 

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...
 
- Protected Types inherited from zypp::sat::Solvable
typedef sat::detail::SolvableIdType IdType
 
- Static Protected Member Functions inherited from zypp::sat::detail::PoolMember
static PoolImplmyPool ()
 
- Static Protected 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...
 
- Static Protected Attributes inherited from zypp::sat::Solvable
static const Solvable noSolvable
 Represents no Solvable. More...
 

Detailed Description

Product interface.

Definition at line 32 of file Product.h.

Member Typedef Documentation

Definition at line 35 of file Product.h.

Definition at line 36 of file Product.h.

Definition at line 37 of file Product.h.

Definition at line 38 of file Product.h.

Definition at line 73 of file Product.h.

Constructor & Destructor Documentation

zypp::Product::Product ( const sat::Solvable solvable_r)
protected

Ctor.

Definition at line 63 of file Product.cc.

zypp::Product::~Product ( )
protectedvirtual

Dtor.

Definition at line 72 of file Product.cc.

Member Function Documentation

sat::Solvable zypp::Product::referencePackage ( ) const

The reference package providing the product metadata, if such a package exists.

Definition at line 77 of file Product.cc.

std::string zypp::Product::referenceFilename ( ) const

For installed products the name of the coddesponding /etc/products.d entry.

Definition at line 121 of file Product.cc.

CapabilitySet zypp::Product::droplist ( ) const

List of packages included in older versions of this product and now dropped.

This evaluates the referencePackage weakremover namespace. It actually returns a CapabilitySet, because we support to drop specific versions or version ranges of a package. Use sat::WhatProvides to get the actually installed and available packages matching this list.

* const Product & openSUSE;
* sat::WhatProvides dropped( openSUSE.droplist() );
* for_( it, dropped.poolItemBegin(), dropped.poolItemEnd() )
* {
* if ( it->status().isInstalled() )
* {
* MIL << "Installed but no longer supported package: " << *it << endl;
* }
* }
*

Definition at line 150 of file Product.cc.

Product::ReplacedProducts zypp::Product::replacedProducts ( ) const

Array of installed Products that would be replaced by installing this one.

Definition at line 124 of file Product.cc.

std::string zypp::Product::productLine ( ) const

Vendor specific string denoting the product line.

Definition at line 153 of file Product.cc.

std::string zypp::Product::shortName ( ) const

Untranslated short name like SLES 10

Definition at line 158 of file Product.cc.

std::string zypp::Product::flavor ( ) const

The product flavor (LiveCD Demo, FTP edition,...).

Definition at line 161 of file Product.cc.

std::string zypp::Product::type ( ) const

Get the product type Well, in an ideal world there is only one base product.

It's the installed product denoted by a symlink in /etc/products.d.

Definition at line 190 of file Product.cc.

std::list< std::string > zypp::Product::flags ( ) const

The product flags.

Definition at line 193 of file Product.cc.

bool zypp::Product::isTargetDistribution ( ) const

This is the installed product that is also targeted by the /etc/products.d/baseproduct symlink.

Definition at line 200 of file Product.cc.

std::string zypp::Product::registerTarget ( ) const

This is register.target attribute of an installed product.

Used for registration.

Definition at line 203 of file Product.cc.

std::string zypp::Product::registerRelease ( ) const

This is register.release attribute of an installed product.

Used for registration.

Definition at line 206 of file Product.cc.

Product::UrlList zypp::Product::urls ( const std::string &  key_r) const

Rerieve urls flagged with key_r for this product.

This is the most common interface. There are convenience methods for wellknown flags like "releasenotes", "register", "updateurls", "extraurls", "optionalurls" and "smolt" below.

Definition at line 211 of file Product.cc.

Product::UrlList zypp::Product::releaseNotesUrls ( ) const

The URL to download the release notes for this product.

Definition at line 239 of file Product.cc.

Product::UrlList zypp::Product::registerUrls ( ) const

The URL for registration.

Definition at line 240 of file Product.cc.

Product::UrlList zypp::Product::smoltUrls ( ) const

The URL for SMOLT.

See Also
http://smolts.org/wiki/Main_Page.

Definition at line 241 of file Product.cc.

Product::UrlList zypp::Product::updateUrls ( ) const

Online updates for the product.

They are complementary, not alternatives. #163192

Definition at line 242 of file Product.cc.

Product::UrlList zypp::Product::extraUrls ( ) const

Additional software for the product They are complementary, not alternatives.

Definition at line 243 of file Product.cc.

Product::UrlList zypp::Product::optionalUrls ( ) const

Optional software for the product.

(for example. Non OSS repositories) They are complementary, not alternatives.

Definition at line 244 of file Product.cc.

Friends And Related Function Documentation

Ptr make ( const sat::Solvable solvable_r)
friend

Directly create a certain kind of ResObject from sat::Solvable.

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

* sat::Solvable s;
* Package::Ptr pkg( make<Package>( s ) );
*
Todo:
make<> was a poor choice (AFAIR because gcc had some trouble with asKind<>(sat::Solvable)). Remove it in favour of asKind<>(sat::Solvable)

Definition at line 246 of file ResObject.h.


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