libzypp  11.13.5
zypp::Product Class Reference

Product interface. More...

#include <Product.h>

Inheritance diagram for zypp::Product:

List of all members.

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
- Public Types inherited from zypp::Resolvable
typedef TraitsType::KindType Kind

Public Member Functions

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

 Product (const sat::Solvable &solvable_r)
 Ctor.
virtual ~Product ()
 Dtor.
- Protected Member Functions inherited from zypp::ResObject
 ResObject (const sat::Solvable &solvable_r)
 Ctor.
virtual ~ResObject ()
 Dtor.
virtual std::ostream & dumpOn (std::ostream &str) const
 Helper for stream output.
- Protected Member Functions inherited from zypp::Resolvable
 Resolvable (const sat::Solvable &solvable_r)
 Ctor.
virtual ~Resolvable ()
 Dtor.
- Protected Member Functions inherited from zypp::sat::Solvable
 Solvable ()
 Default ctor creates noSolvable.
 Solvable (IdType id_r)
 PoolImpl ctor.
template<class _Iterator >
bool isKind (_Iterator begin, _Iterator end)
std::string asString () const
 String representation "ident-edition.arch" or "noSolvable".
bool identical (Solvable rhs) const
 Test whether two Solvables have the same content.
bool sameNVRA (Solvable rhs) const
 Test for same name-version-release.arch.
Solvable nextInPool () const
 Return next Solvable in Pool (or noSolvable).
Solvable nextInRepo () const
 Return next Solvable in Repo (or noSolvable).
::_Solvable * get () const
 Expert backdoor.
IdType id () const
 Expert backdoor.
std::string lookupStrAttribute (const SolvAttr &attr) const
 returns the string attribute value for attr or an empty string if it does not exists.
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.
bool lookupBoolAttribute (const SolvAttr &attr) const
 returns the boolean attribute value for attr or false if it does not exists.
detail::IdType lookupIdAttribute (const SolvAttr &attr) const
 returns the id attribute value for attr or detail::noId if it does not exists.
CheckSum lookupCheckSumAttribute (const SolvAttr &attr) const
 returns the CheckSum attribute value for attr or an empty CheckSum if ir does not exist.
OnMediaLocation lookupLocation () const
 returns OnMediaLocation data: This is everything we need to download e.g.
void getSupportedLocales (LocaleSet &locales_r) const
 Return the supported locales via locales_r.
- 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

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

Additional Inherited Members

ResTraits< _Res >::PtrType asKind (const ResObject::Ptr &p)
bool isKind (const Resolvable::constPtr &p)
bool isKind (const sat::Solvable &solvable_r)

Detailed Description

Product interface.

Definition at line 32 of file Product.h.


Member Typedef Documentation

Reimplemented from zypp::ResObject.

Definition at line 35 of file Product.h.

Reimplemented from zypp::ResObject.

Definition at line 36 of file Product.h.

Reimplemented from zypp::ResObject.

Definition at line 37 of file Product.h.

Reimplemented from zypp::ResObject.

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 62 of file Product.cc.

zypp::Product::~Product ( )
protectedvirtual

Dtor.

Definition at line 71 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 76 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 102 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 131 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 105 of file Product.cc.

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

Vendor specific string denoting the product line.

Definition at line 134 of file Product.cc.

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

Untranslated short name like SLES 10

Definition at line 139 of file Product.cc.

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

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

Definition at line 142 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.

Deprecated:
Use isTargetDistribution to test for the installed base product, other wise type is empty for almost all products.

Definition at line 171 of file Product.cc.

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

The product flags.

Definition at line 174 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 181 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 184 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 187 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 192 of file Product.cc.

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

The URL to download the release notes for this product.

Definition at line 220 of file Product.cc.

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

The URL for registration.

Definition at line 221 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 222 of file Product.cc.

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

Online updates for the product.

They are complementary, not alternatives. #163192

Definition at line 223 of file Product.cc.

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

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

Definition at line 224 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 225 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 238 of file ResObject.h.


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