libzypp 8.13.6
|
00001 /*---------------------------------------------------------------------\ 00002 | ____ _ __ __ ___ | 00003 | |__ / \ / / . \ . \ | 00004 | / / \ V /| _/ _/ | 00005 | / /__ | | | | | | | 00006 | /_____||_| |_| |_| | 00007 | | 00008 \---------------------------------------------------------------------*/ 00009 00010 #ifndef ZYPP_SOURCE_YUM_DOWNLOADER 00011 #define ZYPP_SOURCE_YUM_DOWNLOADER 00012 00013 #include "zypp/Url.h" 00014 #include "zypp/Pathname.h" 00015 #include "zypp/Fetcher.h" 00016 #include "zypp/OnMediaLocation.h" 00017 #include "zypp/MediaSetAccess.h" 00018 #include "zypp/ProgressData.h" 00019 #include "zypp/RepoInfo.h" 00020 #include "zypp/RepoStatus.h" 00021 #include "zypp/repo/Downloader.h" 00022 #include "zypp/repo/yum/ResourceType.h" 00023 00024 namespace zypp 00025 { 00026 namespace repo 00027 { 00028 namespace yum 00029 { 00041 class Downloader : public repo::Downloader 00042 { 00043 public: 00044 00053 Downloader( const RepoInfo &info , const Pathname &delta_dir = Pathname()); 00054 00062 void download( MediaSetAccess &media, 00063 const Pathname &dest_dir, 00064 const ProgressData::ReceiverFnc & progress = ProgressData::ReceiverFnc() ); 00065 00069 RepoStatus status( MediaSetAccess &media ); 00070 00071 protected: 00072 bool repomd_Callback( const OnMediaLocation &loc, const ResourceType &dtype ); 00073 bool patches_Callback( const OnMediaLocation &loc, const std::string &id ); 00074 private: 00075 Pathname _dest_dir; 00076 Pathname _delta_dir; 00077 std::list<OnMediaLocation> _patches_files; 00078 00079 MediaSetAccess *_media_ptr; 00080 }; 00081 00082 } // ns yum 00083 } // ns source 00084 } // ns zypp 00085 00086 #endif