13#include <zypp/base/LogTools.h>
37 for_( it, query.begin(), query.end() )
39 ret_r.push_back( it.asString() );
74 bool foundBuildTime =
false;
80 bool fitsBuildtime = ( it->buildtime() ==
buildtime() );
83 bool lowerEdition = ( it->edition() <= found.
edition() );
84 if ( ( foundBuildTime && ( !fitsBuildtime || lowerEdition ) )
85 || ( !foundBuildTime && ( !fitsBuildtime && lowerEdition ) ) )
90 foundBuildTime =
true;
100 if ( ! refFile.empty() )
108 INT <<
"Product referenceFilename unexpectedly empty!" << endl;
112 WAR << *
this <<
": no reference package found: " << identCap << endl;
121 std::vector<constPtr> ret;
131 ret.push_back( make<Product>( *it ) );
140 ret.push_back( make<Product>( (*it).buddy() ) );
156 if ( ret.empty() ) ret =
name();
177 std::string capstr( cap->asString() );
181 capstr.erase( capstr.size()-1 );
187 return std::string();
195 std::list<std::string> ret;
218 std::vector<Repository::ContentIdentifier> ret;
224 ret.push_back( it.asString() );
234 if ( it.asString() == cident_r )
264 for (;url_it != url.
end(); ++url_it, ++url_type_it)
267 if (url_type_it == url_type.
end())
269 ERR << *
this <<
" : The thing that should not happen, happened." << endl;
273 if ( url_type_it.
asString() == key_r )
Container of Capability (currently read only).
const_iterator begin() const
Iterator pointing to the first Capability.
const_iterator end() const
Iterator pointing behind the last Capability.
Store and operate on date (time_t).
static const Match FILES
LookupAttr: match full path when matching in filelists, otherwise just the basenames.
sat::Solvable buddy() const
Return the buddy we share our status object with.
Helper to iterate a products URL lists.
const_iterator end() const
std::string key() const
The key used to retrieve this list (for debug)
const_iterator begin() const
ReplacedProducts replacedProducts() const
Array of installed Products that would be replaced by installing this one.
std::list< std::string > flags() const
The product flags.
UrlList extraUrls() const
Additional software for the product They are complementary, not alternatives.
std::vector< constPtr > ReplacedProducts
std::string flavor() const
The product flavor (LiveCD Demo, FTP edition,...).
bool isTargetDistribution() const
This is the installed product that is also targeted by the /etc/products.d/baseproduct symlink.
UrlList releaseNotesUrls() const
The URL to download the release notes for this product.
std::string shortName() const
Untranslated short name like SLES 10 (fallback: name)
std::string referenceFilename() const
For installed products the name of the corresponding /etc/products.d entry.
UrlList registerUrls() const
The URL for registration.
std::string registerTarget() const
This is register.target attribute of a product.
Product(const sat::Solvable &solvable_r)
Ctor.
bool hasEndOfLife() const
Return whether an EndOfLife value is actually defined in the metadata.
CapabilitySet droplist() const
List of packages included in older versions of this product and now dropped.
bool hasUpdateContentIdentifier(const Repository::ContentIdentifier &cident_r) const
Whether cident_r is listed as required update repository.
Date endOfLife() const
The date when this Product goes out of support as indicated by its medadata.
UrlList updateUrls() const
Online updates for the product.
sat::Solvable referencePackage() const
The reference package providing the product metadata, if such a package exists.
UrlList urls(const std::string &key_r) const
Retrieve URLs flagged with key_r for this product.
std::string type() const
Get the product type Well, in an ideal world there is only one base product.
std::vector< Repository::ContentIdentifier > updateContentIdentifier() const
ContentIdentifier of required update repositories.
std::string registerFlavor() const
This is register.flavor attribute of a product.
std::string registerRelease() const
This is register.release attribute of an installed product.
UrlList smoltUrls() const
The URL for SMOLT.
std::string productLine() const
Vendor specific string denoting the product line.
UrlList optionalUrls() const
Optional software for the product.
std::string ContentIdentifier
static const ResKind product
Base for resolvable objects.
PoolItem poolItem() const
Access the corresponding PoolItem.
String matching (STRING|SUBSTRING|GLOB|REGEX).
std::string asString() const
This is an overloaded member function, provided for convenience. It differs from the above function o...
Solvable inSolvable() const
The current Solvable.
Lightweight attribute value lookup.
iterator end() const
Iterator behind the end of query results.
bool empty() const
Whether the query is empty.
void setStrMatcher(const StrMatcher &matcher_r)
Set the pattern to match.
iterator begin() const
Iterator to the begin of query results.
static const SolvAttr productRegisterRelease
static const SolvAttr filelist
static const SolvAttr productUpdatesRepoid
static const SolvAttr productProductLine
static const SolvAttr productReferenceFile
static const SolvAttr productRegisterFlavor
static const SolvAttr productType
static const SolvAttr productRegisterTarget
static const SolvAttr productUrl
static const SolvAttr productUpdates
array of repoids, hopefully label s too
static const SolvAttr productEndOfLife
static const SolvAttr productFlags
static const SolvAttr productShortlabel
static const SolvAttr productUrlType
PoolItem_iterator poolItemEnd() const
PoolItem_iterator poolItemBegin() const
A Solvable object within the sat Pool.
Edition edition() const
The edition (version-release).
CapabilitySet valuesOfNamespace(const std::string &namespace_r) const
Return 'value[ op edition]' for namespaced provides 'namespace(value)[ op edition]'.
Container of installed Solvable which would be obsoleted by the Solvable passed to the ctor.
const_iterator end() const
Iterator pointing behind the last Solvable.
const_iterator begin() const
Iterator pointing to the first Solvable.
Container of Solvable providing a Capability (read only).
const_iterator end() const
Iterator pointing behind the last Solvable.
const_iterator begin() const
Iterator pointing to the first Solvable.
String related utilities and Regular expression matching.
bool hasPrefix(const C_Str &str_r, const C_Str &prefix_r)
Return whether str_r has prefix prefix_r.
std::string form(const char *format,...) __attribute__((format(printf
Printf style construction of std::string.
std::string stripPrefix(const C_Str &str_r, const C_Str &prefix_r)
Strip a prefix_r from str_r and return the resulting string.
Easy-to use interface to the ZYPP dependency resolver.
std::unordered_set< Capability > CapabilitySet
std::ostream & dumpRange(std::ostream &str, TIterator begin, TIterator end, const std::string &intro="{", const std::string &pfx="\n ", const std::string &sep="\n ", const std::string &sfx="\n", const std::string &extro="}")
Print range defined by iterators (multiline style).
std::ostream & operator<<(std::ostream &str, const SerialNumber &obj)
Capabilities provides() const
std::string lookupStrAttribute(const SolvAttr &attr) const
Solvable satSolvable() const
Return the corresponding sat::Solvable.
unsigned long long lookupNumAttribute(const SolvAttr &attr) const
Repository repository() const
#define for_(IT, BEG, END)
Convenient for-loops using iterator.
#define IMPL_PTR_TYPE(NAME)