1 /*---------------------------------------------------------------------\
3 | |__ / \ / / . \ . \ |
8 \---------------------------------------------------------------------*/
9 /** \file zypp/Product.h
12 #ifndef ZYPP_PRODUCT_H
13 #define ZYPP_PRODUCT_H
18 #include "zypp/ResObject.h"
19 #include "zypp/detail/ProductImplIf.h"
21 ///////////////////////////////////////////////////////////////////
23 { /////////////////////////////////////////////////////////////////
25 DEFINE_PTR_TYPE(Product);
27 ///////////////////////////////////////////////////////////////////
29 // CLASS NAME : ResObject
31 /** Product interface.
33 class Product : public ResObject
36 typedef detail::ProductImplIf Impl;
38 typedef ResTraits<Self> TraitsType;
39 typedef TraitsType::PtrType Ptr;
40 typedef TraitsType::constPtrType constPtr;
43 /** Get the product categoty (base, add-on) */
44 std::string category() const;
46 /** Get the vendor of the product */
49 /** The URL to download the release notes for this product */
50 Url releaseNotesUrl() const;
52 /** Online updates for the product.
53 They are complementary, not alternatives. #163192 */
54 std::list<Url> updateUrls() const;
56 /** The product flags */
57 std::list<std::string> flags() const;
60 License licenseToConfirm() const;
63 Label shortName() const;
66 Label longName() const;
70 Product( const NVRAD & nvrad_r );
75 /** Access implementation */
76 virtual Impl & pimpl() = 0;
77 /** Access implementation */
78 virtual const Impl & pimpl() const = 0;
81 /////////////////////////////////////////////////////////////////
83 ///////////////////////////////////////////////////////////////////
84 #endif // ZYPP_PRODUCT_H