Product.h

Go to the documentation of this file.
00001 /*---------------------------------------------------------------------\
00002 |                          ____ _   __ __ ___                          |
00003 |                         |__  / \ / / . \ . \                         |
00004 |                           / / \ V /|  _/  _/                         |
00005 |                          / /__ | | | | | |                           |
00006 |                         /_____||_| |_| |_|                           |
00007 |                                                                      |
00008 \---------------------------------------------------------------------*/
00012 #ifndef ZYPP_PRODUCT_H
00013 #define ZYPP_PRODUCT_H
00014 
00015 #include <list>
00016 #include <string>
00017 
00018 #include "zypp/ResObject.h"
00019 #include "zypp/detail/ProductImplIf.h"
00020 
00022 namespace zypp
00023 { 
00024 
00025   DEFINE_PTR_TYPE(Product);
00026 
00028   //
00029   //    CLASS NAME : ResObject
00030   //
00033   class Product : public ResObject
00034   {
00035   public:
00036     typedef detail::ProductImplIf    Impl;
00037     typedef Product                  Self;
00038     typedef ResTraits<Self>          TraitsType;
00039     typedef TraitsType::PtrType      Ptr;
00040     typedef TraitsType::constPtrType constPtr;
00041 
00042   public:
00044     std::string category() const;
00045 
00047     Label vendor() const;
00048 
00050     Url releaseNotesUrl() const;
00051 
00054     std::list<Url> updateUrls() const;
00055 
00057     std::list<std::string> flags() const;
00058 
00060     Label shortName() const;
00061 
00063     Label longName() const;
00064 
00065   protected:
00067     Product( const NVRAD & nvrad_r );
00069     virtual ~Product();
00070 
00071   private:
00073     virtual Impl & pimpl() = 0;
00075     virtual const Impl & pimpl() const = 0;
00076   };
00077 
00079 } // namespace zypp
00081 #endif // ZYPP_PRODUCT_H

Generated on Thu Jul 6 00:07:22 2006 for zypp by  doxygen 1.4.6