00001 /*---------------------------------------------------------------------\ 00002 | | 00003 | __ __ ____ _____ ____ | 00004 | \ \ / /_ _/ ___|_ _|___ \ | 00005 | \ V / _` \___ \ | | __) | | 00006 | | | (_| |___) || | / __/ | 00007 | |_|\__,_|____/ |_| |_____| | 00008 | | 00009 | core system | 00010 | (C) SuSE GmbH | 00011 \----------------------------------------------------------------------/ 00012 00013 File: InstSrcDataYUM.h 00014 00015 Author: Michael Andres <ma@suse.de> 00016 Maintainer: Michael Andres <ma@suse.de> 00017 00018 Purpose: YUM installation source interface 00019 00020 /-*/ 00021 #ifndef InstSrcDataYUM_h 00022 #define InstSrcDataYUM_h 00023 00024 #include <iosfwd> 00025 #include <list> 00026 00027 #include "y2pm/InstSrcDataYUMPtr.h" 00028 #include "y2pm/InstSrcData.h" 00029 00031 namespace YUM 00032 { 00033 00034 class Impl; // InstSrcDataYUM implementation 00035 typedef VarPtr<Impl> ImplPtr; 00036 00038 } // namespace YUM 00040 00042 // 00043 // CLASS NAME : InstSrcDataYUM 00047 class InstSrcDataYUM : public InstSrcData 00048 { 00049 REP_BODY(InstSrcDataYUM); 00050 00051 public: 00055 typedef InstSrcError Error; 00056 00060 virtual 00061 ~InstSrcDataYUM(); 00062 00066 virtual std::ostream & 00067 dumpOn( std::ostream & str ) const; 00068 00072 virtual const std::list<PMPackagePtr> & 00073 getPackages() const; 00074 00075 private: 00079 InstSrcDataYUM( const Pathname & repodataDir_r ); 00080 00084 friend class YUM::Impl; 00085 YUM::ImplPtr _impl; 00086 00087 public: 00097 static PMError 00098 tryGetDescr( InstSrcDescrPtr & ndescr_r, 00099 const InstSrcPtr source_r, 00100 MediaAccessPtr media_r, 00101 const Pathname & product_dir_r, 00102 const Url & mediaurl_r ); 00103 00113 static PMError 00114 tryGetData( InstSrcDataPtr & ndata_r, 00115 const InstSrcPtr source_r ); 00116 00121 static PMError tryGetMediaId( const Url & url_r, const Pathname & product_dir_r, 00122 std::string & mediaId_r ); 00123 }; 00125 00126 #endif // InstSrcDataYUM_h 00127
1.4.4