34 void fillList( std::list<Url> & ret_r, sat::Solvable solv_r, sat::SolvAttr attr_r )
36 sat::LookupAttr query( attr_r, solv_r );
37 for_( it, query.begin(), query.end() )
41 ret_r.push_back( Url( it.asString() ) );
43 catch(
const url::UrlException & )
48 void fillList( std::list<std::string> & ret_r, sat::Solvable solv_r, sat::SolvAttr attr_r )
50 sat::LookupAttr query( attr_r, solv_r );
51 for_( it, query.begin(), query.end() )
53 ret_r.push_back( it.asString() );
92 && it->arch() ==
arch() )
94 if ( ! found || found.
edition() < it->edition() )
105 if ( ! refFile.empty() )
113 INT <<
"Product referenceFilename unexpectedly empty!" << endl;
117 WAR << *
this <<
": no reference package found: " << identCap << endl;
126 std::vector<constPtr> ret;
136 ret.push_back( make<Product>( *it ) );
145 ret.push_back( make<Product>( (*it).buddy() ) );
161 if ( ret.empty() ) ret =
name();
182 std::string capstr( cap->asString() );
186 capstr.erase( capstr.size()-1 );
192 return std::string();
200 std::list<std::string> ret;
210 std::vector<Repository::ContentIdentifier> ret;
216 ret.push_back( it.asString() );
226 if ( it.asString() == cident_r )
256 for (;url_it != url.
end(); ++url_it, ++url_type_it)
259 if (url_type_it == url_type.
end())
261 ERR << *
this <<
" : The thing that should not happen, happened." << endl;
265 if ( url_type_it.asString() == key_r )
267 ret.
_list.push_back(url_it.asString());
static const SolvAttr productFlags
Product(const sat::Solvable &solvable_r)
Ctor.
bool isSystem() const
Whether this represents an installed solvable.
static const SolvAttr productUpdates
array of repoids, hopefully label s too
const_iterator end() const
A Solvable object within the sat Pool.
Container of Solvable providing a Capability (read only).
UrlList releaseNotesUrls() const
The URL to download the release notes for this product.
Container of Capability (currently read only).
Helper to iterate a products URL lists.
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.
Repository repository() const
String matching (STRING|SUBSTRING|GLOB|REGEX).
Lightweight attribute value lookup.
std::string key() const
The key used to retrieve this list (for debug)
std::string lookupStrAttribute(const SolvAttr &attr) const
returns the string attribute value for attr or an empty string if it does not exists.
Capabilities provides() const
static const SolvAttr productRegisterRelease
UrlList registerUrls() const
The URL for registration.
UrlList optionalUrls() const
Optional software for the product.
static const SolvAttr productEndOfLife
String related utilities and Regular expression matching.
static const SolvAttr productProductLine
static const SolvAttr productUrlType
const_iterator begin() const
#define for_(IT, BEG, END)
Convenient for-loops using iterator.
Date endOfLife() const
The date when this Product goes out of support as indicated by it's medadata.
UrlList extraUrls() const
Additional software for the product They are complementary, not alternatives.
CapabilitySet valuesOfNamespace(const std::string &namespace_r) const
Return 'value[ op edition]' for namespaced provides 'namespace(value)[ op edition]'.
std::string form(const char *format,...) __attribute__((format(printf
Printf style construction of std::string.
std::string registerRelease() const
This is register.release attribute of an installed product.
std::tr1::unordered_set< Capability > CapabilitySet
std::string registerFlavor() const
This is register.flavor attribute of a product.
static const SolvAttr productRegisterTarget
Store and operate on date (time_t).
std::ostream & dumpRange(std::ostream &str, _Iterator begin, _Iterator 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).
iterator end() const
Iterator behind the end of query results.
const_iterator begin() const
Iterator pointing to the first Solvable.
std::ostream & operator<<(std::ostream &str, const Exception &obj)
std::string flavor() const
The product flavor (LiveCD Demo, FTP edition,...).
const_iterator end() const
Iterator pointing behind the last Solvable.
PoolItem_iterator poolItemEnd() const
Solvable inSolvable() const
The current Solvable.
static const SolvAttr productRegisterFlavor
PoolItem poolItem() const
Access the corresponding PoolItem.
const sat::Solvable & satSolvable() const
Access the corresponding ::Solvable.
IMPL_PTR_TYPE(Application)
const_iterator begin() const
Iterator pointing to the first Solvable.
static const SolvAttr productType
unsigned long long lookupNumAttribute(const SolvAttr &attr) const
returns the numeric attribute value for attr or 0 if it does not exists.
PoolItem_iterator poolItemBegin() const
void setStrMatcher(const StrMatcher &matcher_r)
Set the pattern to match.
sat::Solvable referencePackage() const
The reference package providing the product metadata, if such a package exists.
Interface base for resolvable objects (common data).
std::vector< Repository::ContentIdentifier > updateContentIdentifier() const
ContentIdentifier of required update repositories.
std::string type() const
Get the product type Well, in an ideal world there is only one base product.
Container of installed Solvable which would be obsoleted by the Solvable passed to the ctor...
UrlList updateUrls() const
Online updates for the product.
static const SolvAttr productUrl
ReplacedProducts replacedProducts() const
Array of installed Products that would be replaced by installing this one.
bool empty() const
Whether the query is empty.
std::string ContentIdentifier
const_iterator end() const
Iterator pointing behind the last Capability.
std::vector< constPtr > ReplacedProducts
std::string shortName() const
Untranslated short name like SLES 10 (fallback: name)
CapabilitySet droplist() const
List of packages included in older versions of this product and now dropped.
bool isTargetDistribution() const
This is the installed product that is also targeted by the /etc/products.d/baseproduct symlink...
sat::Solvable buddy() const
Return the buddy we share our status object with.
std::string productLine() const
Vendor specific string denoting the product line.
static const SolvAttr productUpdatesRepoid
static const SolvAttr filelist
std::string referenceFilename() const
For installed products the name of the coddesponding /etc/products.d entry.
std::list< std::string > flags() const
The product flags.
bool hasUpdateContentIdentifier(const Repository::ContentIdentifier &cident_r) const
Whether cident_r is listed as required update repository.
std::string registerTarget() const
This is register.target attribute of a product.
static const ResKind product
Easy-to use interface to the ZYPP dependency resolver.
static const SolvAttr productReferenceFile
bool hasPrefix(const C_Str &str_r, const C_Str &prefix_r)
Return whether str_r has prefix prefix_r.
UrlList urls(const std::string &key_r) const
Rerieve urls flagged with key_r for this product.
const_iterator begin() const
Iterator pointing to the first Capability.
static const SolvAttr productShortlabel
const_iterator end() const
Iterator pointing behind the last Solvable.
iterator begin() const
Iterator to the begin of query results.
UrlList smoltUrls() const
The URL for SMOLT.