31 MediaSetAccess::MediaSetAccess(
const Url &
url,
32 const Pathname & prefered_attach_point)
34 , _prefAttachPoint(prefered_attach_point)
39 const Pathname & prefered_attach_point)
41 , _prefAttachPoint(prefered_attach_point)
85 DBG <<
"Going to release file " << file
86 <<
" from media number " << media_nr << endl;
95 bool dots,
unsigned media_nr )
105 media_mgr.
dirInfo(media, retlist, dirname, dots);
160 provide( boost::ref(op), resource, options, deltafile );
169 provide( boost::ref(op), resource, options, Pathname() );
184 ProvideFileOptions options,
185 const Pathname &deltafile )
188 unsigned media_nr(resource.
medianr());
199 bool deltafileset =
false;
203 DBG <<
"Going to try to provide " << (resource.
optional() ?
"optional" :
"") <<
" file " << file
204 <<
" from media number " << media_nr << endl;
220 unsigned int devindex = 0;
221 vector<string> devices;
228 DBG <<
"Media couldn't provide file " << file <<
" , releasing." << endl;
236 MIL <<
"Failed to release media " << media << endl;
263 MIL <<
"Can't provide file. Non-Interactive mode." << endl;
271 user = report->requestMedia (
282 MIL <<
"ProvideFile exception caught, callback answer: " << user << endl;
286 DBG <<
"Aborting" << endl;
291 DBG <<
"Skipping" << endl;
292 SkipRequestException nexcp(
"User-requested skipping of a file");
293 nexcp.remember(excp);
298 DBG <<
"Eject: try to release" << endl;
302 devindex < devices.size() ? devices[devindex] :
"");
308 DBG <<
"Going to try again" << endl;
310 media_mgr.
close(media);
319 DBG <<
"Don't know, let's ABORT" << endl;
332 ProvideFileOptions options )
339 provide( boost::ref(op), resource, options, Pathname());
343 provide( boost::ref(op), resource, options, Pathname());
379 WAR <<
"Verifier not found" << endl;
389 if (scheme ==
"cd" || scheme ==
"dvd")
392 DBG <<
"Rewriting url " << url_r << endl;
408 DBG <<
"Url rewrite result: " << url << endl;
422 DBG <<
"Url rewrite result: " << url << endl;
431 DBG <<
"Releasing all media IDs held by this MediaSetAccess" << endl;
433 for (MediaMap::const_iterator m =
_medias.begin(); m !=
_medias.end(); ++m)
434 manager.
release(m->second,
"");