32 MediaSetAccess::MediaSetAccess(
const Url &
url,
33 const Pathname & prefered_attach_point)
35 , _prefAttachPoint(prefered_attach_point)
40 const Pathname & prefered_attach_point)
42 , _prefAttachPoint(prefered_attach_point)
51 for (
const auto & mm :
_medias )
52 manager.
close( mm.second );
88 DBG <<
"Going to release file " << file
89 <<
" from media number " << media_nr << endl;
98 bool dots,
unsigned media_nr )
108 media_mgr.
dirInfo(media, retlist, dirname, dots);
165 provide( boost::ref(op), resource, options, deltafile );
174 provide( boost::ref(op), resource, options, Pathname() );
201 Pathname file = access.
provideFile(path, 1, options);
205 ZYPP_THROW(
Exception(
"Can't copy file from " + file.asString() +
" to " + tmpFile->asString() ));
234 ProvideFileOptions options,
235 const Pathname &deltafile )
238 unsigned media_nr(resource.
medianr());
249 bool deltafileset =
false;
253 DBG <<
"Going to try to provide " << (resource.
optional() ?
"optional" :
"") <<
" file " << file
254 <<
" from media number " << media_nr << endl;
270 unsigned int devindex = 0;
278 DBG <<
"Media couldn't provide file " << file <<
" , releasing." << endl;
286 MIL <<
"Failed to release media " << media << endl;
314 MIL <<
"Can't provide file. Non-Interactive mode." << endl;
322 user = report->requestMedia (
333 MIL <<
"ProvideFile exception caught, callback answer: " << user << endl;
337 DBG <<
"Aborting" << endl;
338 AbortRequestException aexcp(
"Aborting requested by user");
339 aexcp.remember(excp);
344 DBG <<
"Skipping" << endl;
345 SkipRequestException nexcp(
"User-requested skipping of a file");
346 nexcp.remember(excp);
351 DBG <<
"Eject: try to release" << endl;
355 media_mgr.
release (media, devindex < devices.size() ? devices[devindex] :
"");
366 DBG <<
"Going to try again" << endl;
368 media_mgr.
close(media);
377 DBG <<
"Don't know, let's ABORT" << endl;
390 ProvideFileOptions options )
397 provide( boost::ref(op), resource, options, Pathname());
401 provide( boost::ref(op), resource, options, Pathname());
433 WAR <<
"Verifier not found" << endl;
443 if (scheme ==
"cd" || scheme ==
"dvd")
446 DBG <<
"Rewriting url " << url_r << endl;
462 DBG <<
"Url rewrite result: " << url << endl;
476 DBG <<
"Url rewrite result: " << url << endl;
485 DBG <<
"Releasing all media IDs held by this MediaSetAccess" << endl;
487 for (MediaMap::const_iterator m =
_medias.begin(); m !=
_medias.end(); ++m)
488 manager.
release(m->second,
"");