Author: dmacvicar Date: Thu Jul 19 17:07:43 2007 New Revision: 6101 URL: http://svn.opensuse.org/viewcvs/zypp?rev=6101&view=rev Log: Media verification: split media download to a separate function Added: trunk/libzypp/zypp/repo/MediaInfoDownloader.cc trunk/libzypp/zypp/repo/MediaInfoDownloader.h Modified: trunk/libzypp/zypp/CMakeLists.txt trunk/libzypp/zypp/repo/susetags/Downloader.cc trunk/libzypp/zypp/repo/yum/Downloader.cc Modified: trunk/libzypp/zypp/CMakeLists.txt URL: http://svn.opensuse.org/viewcvs/zypp/trunk/libzypp/zypp/CMakeLists.txt?rev=6101&r1=6100&r2=6101&view=diff ============================================================================== --- trunk/libzypp/zypp/CMakeLists.txt (original) +++ trunk/libzypp/zypp/CMakeLists.txt Thu Jul 19 17:07:43 2007 @@ -925,6 +925,7 @@ repo/Applydeltarpm.cc repo/PackageDelta.cc repo/SUSEMediaVerifier.cc + repo/MediaInfoDownloader.cc ) SET( zypp_repo_HEADERS @@ -937,6 +938,7 @@ repo/Applydeltarpm.h repo/PackageDelta.h repo/SUSEMediaVerifier.h + repo/MediaInfoDownloader.h ) INSTALL( FILES Added: trunk/libzypp/zypp/repo/MediaInfoDownloader.cc URL: http://svn.opensuse.org/viewcvs/zypp/trunk/libzypp/zypp/repo/MediaInfoDownloader.cc?rev=6101&view=auto ============================================================================== --- trunk/libzypp/zypp/repo/MediaInfoDownloader.cc (added) +++ trunk/libzypp/zypp/repo/MediaInfoDownloader.cc Thu Jul 19 17:07:43 2007 @@ -0,0 +1,40 @@ +/*---------------------------------------------------------------------\ +| ____ _ __ __ ___ | +| |__ / \ / / . \ . \ | +| / / \ V /| _/ _/ | +| / /__ | | | | | | | +| /_____||_| |_| |_| | +| | +\---------------------------------------------------------------------*/ + +#include <fstream> +#include "zypp/base/String.h" +#include "zypp/base/Logger.h" +#include "zypp/base/Function.h" + +#include "MediaInfoDownloader.h" +#include "zypp/base/UserRequestException.h" + +using namespace std; + +namespace zypp +{ +namespace repo +{ + +void downloadMediaInfo( const Pathname &dest_dir, + MediaSetAccess &media, + const ProgressData::ReceiverFnc & progressrcv ) +{ + Fetcher fetcher; + fetcher.enqueue( OnMediaLocation().setFilename( "/media.1/media") ); + fetcher.start( dest_dir, media, progressrcv ); + // ready, go! + fetcher.reset(); +} + +}// ns repo +} // ns zypp + + + Added: trunk/libzypp/zypp/repo/MediaInfoDownloader.h URL: http://svn.opensuse.org/viewcvs/zypp/trunk/libzypp/zypp/repo/MediaInfoDownloader.h?rev=6101&view=auto ============================================================================== --- trunk/libzypp/zypp/repo/MediaInfoDownloader.h (added) +++ trunk/libzypp/zypp/repo/MediaInfoDownloader.h Thu Jul 19 17:07:43 2007 @@ -0,0 +1,39 @@ +/*---------------------------------------------------------------------\ +| ____ _ __ __ ___ | +| |__ / \ / / . \ . \ | +| / / \ V /| _/ _/ | +| / /__ | | | | | | | +| /_____||_| |_| |_| | +| | +\---------------------------------------------------------------------*/ + +#ifndef ZYPP_REPO_MEDIAINFO_DOWNLOADER +#define ZYPP_REPO_MEDIAINFO_DOWNLOADER + +#include "zypp/Url.h" +#include "zypp/Pathname.h" +#include "zypp/Fetcher.h" +#include "zypp/OnMediaLocation.h" +#include "zypp/MediaSetAccess.h" +#include "zypp/ProgressData.h" + +namespace zypp +{ + namespace repo + { + + /** + * \short Downloads the media info (/media.1) to a local directory + * \param dest_dir Destination directory + * \param media \ref MediaSetAccess object to some media + * \param progress Progress callback function + * + * \throws Exception on error + */ + void downloadMediaInfo( const Pathname &dest_dir, + MediaSetAccess &media, + const ProgressData::ReceiverFnc & progress = ProgressData::ReceiverFnc() ); + } // ns repo +} // ns zypp + +#endif Modified: trunk/libzypp/zypp/repo/susetags/Downloader.cc URL: http://svn.opensuse.org/viewcvs/zypp/trunk/libzypp/zypp/repo/susetags/Downloader.cc?rev=6101&r1=6100&r2=6101&view=diff ============================================================================== --- trunk/libzypp/zypp/repo/susetags/Downloader.cc (original) +++ trunk/libzypp/zypp/repo/susetags/Downloader.cc Thu Jul 19 17:07:43 2007 @@ -4,6 +4,7 @@ #include "zypp/OnMediaLocation.h" #include "zypp/MediaSetAccess.h" #include "zypp/Fetcher.h" +#include "zypp/repo/MediaInfoDownloader.h" #include "zypp/repo/susetags/Downloader.h" #include "zypp/base/UserRequestException.h" @@ -35,11 +36,8 @@ { MediaSetAccess media(_url); Fetcher fetcher; - - fetcher.enqueue( OnMediaLocation( "media.1/media", 1 ) ); - fetcher.start( dest_dir, media ); - fetcher.reset(); - + + downloadMediaInfo( dest_dir, media ); SignatureFileChecker sigchecker; Modified: trunk/libzypp/zypp/repo/yum/Downloader.cc URL: http://svn.opensuse.org/viewcvs/zypp/trunk/libzypp/zypp/repo/yum/Downloader.cc?rev=6101&r1=6100&r2=6101&view=diff ============================================================================== --- trunk/libzypp/zypp/repo/yum/Downloader.cc (original) +++ trunk/libzypp/zypp/repo/yum/Downloader.cc Thu Jul 19 17:07:43 2007 @@ -17,6 +17,7 @@ #include "zypp/parser/yum/RepomdFileReader.h" #include "zypp/parser/yum/PatchesFileReader.h" #include "Downloader.h" +#include "zypp/repo/MediaInfoDownloader.h" #include "zypp/base/UserRequestException.h" using namespace std; @@ -86,6 +87,8 @@ progress.sendTo(progressrcv); progress.toMin(); + //downloadMediaInfo( dest_dir, _media ); + _dest_dir = dest_dir; if ( _media.doesFileExist(keypath) ) _fetcher.enqueue( OnMediaLocation(keypath,1) ); -- To unsubscribe, e-mail: zypp-commit+unsubscribe@opensuse.org For additional commands, e-mail: zypp-commit+help@opensuse.org