00001 /*---------------------------------------------------------------------\ 00002 | ____ _ __ __ ___ | 00003 | |__ / \ / / . \ . \ | 00004 | / / \ V /| _/ _/ | 00005 | / /__ | | | | | | | 00006 | /_____||_| |_| |_| | 00007 | | 00008 \---------------------------------------------------------------------*/ 00012 #ifndef ZYPP_SRCPACKAGE_H 00013 #define ZYPP_SRCPACKAGE_H 00014 00015 #include "zypp/ResObject.h" 00016 #include "zypp/detail/SrcPackageImplIf.h" 00017 00019 namespace zypp 00020 { 00021 00022 DEFINE_PTR_TYPE(SrcPackage); 00023 00025 // 00026 // CLASS NAME : SrcPackage 00027 // 00030 class SrcPackage : public ResObject 00031 { 00032 00033 public: 00034 typedef detail::SrcPackageImplIf Impl; 00035 typedef SrcPackage Self; 00036 typedef ResTraits<Self> TraitsType; 00037 typedef TraitsType::PtrType Ptr; 00038 typedef TraitsType::constPtrType constPtr; 00039 00040 public: 00042 ByteCount archivesize() const; 00044 DiskUsage diskusage() const; 00046 Pathname location() const; 00047 00048 protected: 00049 SrcPackage( const NVRAD & nvrad_r ); 00051 virtual ~SrcPackage(); 00052 00053 private: 00055 virtual Impl & pimpl() = 0; 00057 virtual const Impl & pimpl() const = 0; 00058 }; 00060 00062 } // namespace zypp 00064 #endif // ZYPP_SRCPACKAGE_H