00001 /*---------------------------------------------------------------------\ 00002 | ____ _ __ __ ___ | 00003 | |__ / \ / / . \ . \ | 00004 | / / \ V /| _/ _/ | 00005 | / /__ | | | | | | | 00006 | /_____||_| |_| |_| | 00007 | | 00008 \---------------------------------------------------------------------*/ 00012 #ifndef ZYPP_DETAIL_PRODUCTIMPLIF_H 00013 #define ZYPP_DETAIL_PRODUCTIMPLIF_H 00014 00015 #include "zypp/Locale.h" 00016 #include "zypp/Url.h" 00017 #include "zypp/detail/ResObjectImplIf.h" 00018 00019 #ifndef PURE_VIRTUAL 00020 #define PURE_VIRTUAL = 0 00021 #endif 00022 00024 namespace zypp 00025 { 00026 00027 class Product; 00028 00030 namespace detail 00031 { 00032 00034 // 00035 // CLASS NAME : ProductImplIf 00036 // 00039 class ProductImplIf : public ResObjectImplIf 00040 { 00041 public: 00042 typedef Product ResType; 00043 00044 public: 00046 virtual std::string category() const PURE_VIRTUAL; 00047 00049 virtual Label vendor() const PURE_VIRTUAL; 00050 00051 virtual Url releaseNotesUrl() const PURE_VIRTUAL; 00052 00053 virtual std::list<Url> updateUrls() const PURE_VIRTUAL; 00055 virtual std::list<std::string> flags() const PURE_VIRTUAL; 00056 00057 virtual TranslatedText shortName() const PURE_VIRTUAL; 00058 }; 00060 00062 } // namespace detail 00065 } // namespace zypp 00067 #endif // ZYPP_DETAIL_PRODUCTIMPLIF_H