1 /*---------------------------------------------------------------------\
3 | |__ / \ / / . \ . \ |
8 \---------------------------------------------------------------------*/
10 #ifndef ZYPP_SOURCE_SUSETAGS_DOWNLOADER
11 #define ZYPP_SOURCE_SUSETAGS_DOWNLOADER
14 #include "zypp/Pathname.h"
15 #include "zypp/ProgressData.h"
16 #include "zypp/RepoStatus.h"
17 #include "zypp/MediaSetAccess.h"
18 #include "zypp/repo/Downloader.h"
19 #include "zypp/parser/susetags/ContentFileReader.h"
29 * \short Downloader for SUSETags (YaST2) repositories
30 * Encapsulates all the knowledge of which files have
31 * to be downloaded to the local disk.
33 class Downloader : public repo::Downloader
39 * \param path Path to the repostory from the media
41 Downloader( const Pathname &path );
44 * \short Download metadata to a local directory
46 * \param media Media access to the repository url
47 * \param dest_dir Local destination directory
48 * \param progress progress receiver
50 void download( MediaSetAccess &media,
51 const Pathname &dest_dir,
52 const ProgressData::ReceiverFnc & progress = ProgressData::ReceiverFnc() );
54 * \short Status of the remote repository
56 RepoStatus status( MediaSetAccess &media );
59 * Content file parser consumer
61 void consumeIndex( const parser::susetags::RepoIndex_Ptr & data_r );
65 parser::susetags::RepoIndex_Ptr _repoindex;