1 /*---------------------------------------------------------------------\
3 | |__ / \ / / . \ . \ |
8 \---------------------------------------------------------------------*/
9 /** \file zypp/Product.h
12 #ifndef ZYPP_PRODUCT_H
13 #define ZYPP_PRODUCT_H
18 #include "zypp/ResObject.h"
20 ///////////////////////////////////////////////////////////////////
22 { /////////////////////////////////////////////////////////////////
24 DEFINE_PTR_TYPE(Product);
26 ///////////////////////////////////////////////////////////////////
28 // CLASS NAME : Product
30 /** Product interface.
32 class Product : public ResObject
36 typedef ResTraits<Self> TraitsType;
37 typedef TraitsType::PtrType Ptr;
38 typedef TraitsType::constPtrType constPtr;
41 /** The reference package providing the product metadata,
42 * if such a package exists.
44 sat::Solvable referencePackage() const;
47 /** Untranslated short name like <tt>SLES 10</tt>*/
48 std::string shortName() const;
50 /** The product flavor (LiveCD Demo, FTP edition,...). */
51 std::string flavor() const;
53 /** Get the product type (base, add-on)
54 * Well, in an ideal world there is only one base product.
55 * It's the installed product denoted by a symlink in
58 std::string type() const;
60 /** The URL to download the release notes for this product */
61 Url releaseNotesUrl() const;
64 * Online updates for the product.
65 * They are complementary, not alternatives. #163192
67 std::list<Url> updateUrls() const;
70 * Additional software for the product
71 * They are complementary, not alternatives.
73 std::list<Url> extraUrls() const;
76 * Optional software for the product
77 * (for example. Non OSS repositories)
78 * They are complementary, not alternatives.
80 std::list<Url> optionalUrls() const;
82 /** The product flags */
83 std::list<std::string> flags() const;
85 /** Translated long name like <tt>SUSE Linux Enterprise Server 10</tt>
86 * \deprecated use summary.
88 std::string longName( const Locale & lang_r = Locale() ) const ZYPP_DEPRECATED
89 { return summary( lang_r ); }
91 /** Vendor specific distribution id.
92 * \deprecated replaced by ResObject::distribution
94 std::string distributionName() const ZYPP_DEPRECATED;
96 /** Vendor specific distribution version.
97 * \deprecated replaced by ResObject::distribution
99 Edition distributionEdition() const ZYPP_DEPRECATED;
102 friend Ptr make<Self>( const sat::Solvable & solvable_r );
104 Product( const sat::Solvable & solvable_r );
109 /////////////////////////////////////////////////////////////////
111 ///////////////////////////////////////////////////////////////////
112 #endif // ZYPP_PRODUCT_H