15#include <zypp-media/Mount>
47 url_r.url().getPathName(),
50 MIL <<
"MediaISO::MediaISO(" << url_r.url() <<
", "
51 << attach_point_hint_r <<
")" << std::endl;
53 _isofile = _url.url().getQueryParam(
"iso");
56 ERR <<
"Media url does not contain iso filename" << std::endl;
60 _filesystem = _url.url().getQueryParam(
"filesystem");
61 if( _filesystem.empty())
66 const std::string & arg { _url.url().getQueryParam(
"url") };
70 _isofile = _isofile.basename();
75 catch(
const url::UrlException & e )
78 ERR <<
"Unable to parse iso filename source media url" << std::endl;
86 ERR <<
"Invalid iso filename source media url" << std::endl;
91 ERR <<
"ISO filename source media url with iso scheme (nested iso): "
104 ERR <<
"ISO filename source media url scheme is not supported: "
111 _parentId = manager.
open({MediaUrl(src)}, _url.url().getQueryParam(
"mnt"));
123 DBG <<
"Closing parent handler..." << std::endl;
167 "Unable to find iso filename on source media",
189 DBG <<
"Using a shared media "
205 std::string mountopts(
"ro,loop");
216 bool mountsucceeded =
false;
217 while( !(mountsucceeded=
isAttached()) && --limit)
235 "Unable to verify that the media was mounted",
260 WAR <<
"Not been able to cleanup the parent mount." << endl;
276 bool recurse_r)
const
Base class for Exception.
void remember(const Exception &old_r)
Store an other Exception as history.
std::string getScheme() const
Returns the scheme name of the URL.
std::string asString() const
Returns a default string representation of the Url object.
void setPathName(const std::string &path, EEncoding eflag=zypp::url::E_DECODED)
Set the path name.
bool isValid() const
Verifies the Url.
Wrapper class for stat/lstat.
const std::string & asString() const
String representation.
bool empty() const
Test for an empty path.
std::list< DirEntry > DirContent
Returned by readdir.
Easy-to use interface to the ZYPP dependency resolver.
std::string asString(const Patch::Category &obj)
#define ZYPP_CAUGHT(EXCPT)
Drops a logline telling the Exception was caught (in order to handle it).
#define ZYPP_THROW(EXCPT)
Drops a logline and throws the Exception.