struct ProvideFileOperation
{
Pathname result;
+ ByteCount expectedFileSize;
void operator()( media::MediaAccessId media, const Pathname &file )
{
media::MediaManager media_mgr;
- media_mgr.provideFile(media, file);
+ media_mgr.provideFile(media, file, expectedFileSize);
result = media_mgr.localPath(media, file);
}
};
Pathname MediaSetAccess::provideFile( const OnMediaLocation & resource, ProvideFileOptions options, const Pathname &deltafile )
{
ProvideFileOperation op;
+ op.expectedFileSize = resource.downloadSize();
provide( boost::ref(op), resource, options, deltafile );
return op.result;
}
return op.result;
}
+ Pathname MediaSetAccess::provideOptionalFile( const Pathname & file, unsigned media_nr )
+ {
+ try
+ {
+ if ( doesFileExist( file, media_nr ) )
+ return provideFile( file, media_nr, PROVIDE_NON_INTERACTIVE );
+ }
+ catch ( const media::MediaFileNotFoundException & excpt_r )
+ { ZYPP_CAUGHT( excpt_r ); }
+ catch ( const media::MediaNotAFileException & excpt_r )
+ { ZYPP_CAUGHT( excpt_r ); }
+ return Pathname();
+ }
+
ManagedFile MediaSetAccess::provideFileFromUrl(const Url &file_url, ProvideFileOptions options)
{
Url url(file_url);
return tmpFile;
}
- Pathname MediaSetAccess::provideOptionalFile( const Pathname & file, unsigned media_nr )
+ ManagedFile MediaSetAccess::provideOptionalFileFromUrl( const Url & file_url )
{
try
{
- if ( doesFileExist( file, media_nr ) )
- return provideFile( file, media_nr, PROVIDE_NON_INTERACTIVE );
+ return provideFileFromUrl( file_url, PROVIDE_NON_INTERACTIVE );
}
catch ( const media::MediaFileNotFoundException & excpt_r )
{ ZYPP_CAUGHT( excpt_r ); }
catch ( const media::MediaNotAFileException & excpt_r )
{ ZYPP_CAUGHT( excpt_r ); }
- return Pathname();
+ return ManagedFile();
}
bool MediaSetAccess::doesFileExist(const Pathname & file, unsigned media_nr )