|
libzypp 17.37.5
|
Implementation class for ISO MediaHandler. More...
#include <zypp/media/MediaISO.h>
Public Member Functions | |
| MediaISO (const MediaUrl &url_r, const Pathname &attach_point_hint_r) | |
| ~MediaISO () override | |
| bool | isAttached () const override |
| True if media is attached. | |
Public Member Functions inherited from zypp::media::MediaHandler | |
| bool | dependsOnParent (MediaAccessId parentId, bool exactIdMatch) |
| Check if the current media handler depends on an another handler specified by media access id. | |
| bool | dependsOnParent () |
| void | resetParentId () |
| Called in case, where the media manager takes over the destruction of the parent id (e.g. | |
| Pathname | attachPoint () const |
| Return the currently used attach point. | |
| void | setAttachPoint (const Pathname &path, bool temp) |
| Set a new attach point. | |
| void | setAttachPoint (const AttachPointRef &ref) |
| Set a (shared) attach point. | |
| AttachPoint | attachPointHint () const |
| Get the actual attach point hint. | |
| void | attachPointHint (const Pathname &path, bool temp) |
| Set the attach point hint as specified by the user. | |
| Pathname | createAttachPoint () const |
| Try to create a default / temporary attach point. | |
| Pathname | createAttachPoint (const Pathname &attach_root) const |
| Try to create a temporary attach point in specified root. | |
| void | removeAttachPoint () |
| Remove unused attach point. | |
| virtual bool | checkAttachPoint (const Pathname &apoint) const |
| Verify if the specified directory as attach point (root) as requires by the particular media handler implementation. | |
| bool | isUseableAttachPoint (const Pathname &path, bool mtab=true) const |
| Ask media manager, if the specified path is already used as attach point or if there are another attach points bellow of it. | |
| std::string | mediaSourceName () const |
| Get the media source name or an empty string. | |
| void | setMediaSource (const MediaSourceRef &ref) |
| Set new media source reference. | |
| AttachedMedia | findAttachedMedia (const MediaSourceRef &media) const |
| Ask the media manager if specified media source is already attached. | |
| AttachedMedia | attachedMedia () const |
| Returns the attached media. | |
| bool | isSharedMedia () const |
| Returns a hint if the media is shared or not. | |
| bool | checkAttached (bool matchMountFs) const |
| Check actual mediaSource attachment against the current mount table of the system. | |
| void | forceRelaseAllMedia (bool matchMountFs) |
| Call to this function will try to release all media matching the currenlty attached media source, that it is able to find in the mount table. | |
| void | forceRelaseAllMedia (const MediaSourceRef &ref, bool matchMountFs) |
| MediaHandler (MediaUrl primaryUrl_r, std::vector< MediaUrl > urls_r, const Pathname &attach_point_r, Pathname urlpath_below_attachpoint_r, const bool does_download_r) | |
| If the concrete media handler provides a nonempty attach_point, it must be an existing directory. | |
| virtual | ~MediaHandler () |
| Contolling MediaAccess takes care, that attached media is released prior to deleting this. | |
| bool | downloads () const |
| Hint if files are downloaded or not. | |
| std::string | protocol () const |
| Protocol hint for MediaAccess. | |
| Url | url () const |
| Primary Url used. | |
| void | attach (bool next) |
| Use concrete handler to attach the media. | |
| Pathname | localRoot () const |
| Return the local directory that corresponds to medias url, no matter if media isAttached or not. | |
| Pathname | localPath (const Pathname &pathname) const |
| Files provided will be available at 'localPath(filename)'. | |
| void | disconnect () |
| Use concrete handler to isconnect media. | |
| void | release (const std::string &ejectDev="") |
| Use concrete handler to release the media. | |
| void | provideFile (const OnMediaLocation &file) const |
| Use concrete handler to provide file denoted by path below 'localRoot'. | |
| void | provideFileCopy (const OnMediaLocation &srcFile, const Pathname &targetFilename) const |
| Call concrete handler to provide a copy of a file under a different place in the file system (usually not under attach point) as a copy. | |
| void | provideDir (const Pathname &dirname) const |
| Use concrete handler to provide directory denoted by path below 'localRoot' (not recursive!). | |
| void | provideDirTree (const Pathname &dirname) const |
| Use concrete handler to provide directory tree denoted by path below 'localRoot' (recursive! | |
| void | releaseFile (const Pathname &filename) const |
| Remove filename below localRoot IFF handler downloads files to the local filesystem. | |
| void | releaseDir (const Pathname &dirname) const |
| Remove directory tree below localRoot IFF handler downloads files to the local filesystem. | |
| void | releasePath (const Pathname &pathname) const |
| Remove pathname below localRoot IFF handler downloads files to the local filesystem. | |
| void | dirInfo (std::list< std::string > &retlist, const Pathname &dirname, bool dots=true) const |
| Return content of directory on media via retlist. | |
| void | dirInfo (filesystem::DirContent &retlist, const Pathname &dirname, bool dots=true) const |
| Basically the same as dirInfo above. | |
| bool | doesFileExist (const Pathname &filename) const |
| check if a file exists | |
| virtual bool | hasMoreDevices () |
| Check if the media has one more device available for attach(true). | |
| virtual void | getDetectedDevices (std::vector< std::string > &devices, unsigned int &index) const |
| Fill in a vector of detected ejectable devices and the index of the currently attached device within the vector. | |
| virtual void | precacheFiles (const std::vector< OnMediaLocation > &files) |
| Tries to fetch the given files and precaches them. | |
Protected Member Functions | |
| void | attachTo (bool next=false) override |
| Call concrete handler to attach the media. | |
| void | releaseFrom (const std::string &ejectDev="") override |
| Call concrete handler to release the media. | |
| void | getFile (const OnMediaLocation &file) const override |
| Call concrete handler to provide file below attach point. | |
| void | getDir (const Pathname &dirname, bool recurse_r) const override |
| Call concrete handler to provide directory content (not recursive!) below attach point. | |
| void | getDirInfo (std::list< std::string > &retlist, const Pathname &dirname, bool dots=true) const override |
| Call concrete handler to provide a content list of directory on media via retlist. | |
| void | getDirInfo (filesystem::DirContent &retlist, const Pathname &dirname, bool dots=true) const override |
| Basically the same as getDirInfo above. | |
| bool | getDoesFileExist (const Pathname &filename) const override |
| check if a file exists | |
Protected Member Functions inherited from zypp::media::MediaHandler | |
| virtual void | disconnectFrom () |
| Call concrete handler to disconnect media. | |
| virtual void | forceEject (const std::string &device) |
| Call concrete handler to physically eject the media (i.e. | |
| virtual void | getFileCopy (const OnMediaLocation &file, const Pathname &targetFilename) const |
| Call concrete handler to provide a file under a different place in the file system (usually not under attach point) as a copy. | |
| void | getDirectoryYast (std::list< std::string > &retlist, const Pathname &dirname, bool dots=true) const |
| Retrieve and if available scan dirname/directory.yast. | |
| void | getDirectoryYast (filesystem::DirContent &retlist, const Pathname &dirname, bool dots=true) const |
| Retrieve and if available scan dirname/directory.yast. | |
Private Attributes | |
| Pathname | _isofile |
| std::string | _filesystem |
Additional Inherited Members | |
Public Types inherited from zypp::media::MediaHandler | |
| using | Ptr = shared_ptr<MediaHandler> |
| using | constPtr = shared_ptr<const MediaHandler> |
Static Public Member Functions inherited from zypp::media::MediaHandler | |
| static bool | setAttachPrefix (const Pathname &attach_prefix) |
| static std::string | getRealPath (const std::string &path) |
| static Pathname | getRealPath (const Pathname &path) |
| static bool | checkAttachPoint (const Pathname &apoint, bool empty_dir, bool writeable) |
| Verify if the specified directory as attach point (root) using requested checks. | |
Protected Attributes inherited from zypp::media::MediaHandler | |
| const std::vector< MediaUrl > | _urls |
| All mirrors including the primary. | |
| const MediaUrl | _url |
| Primary Url. | |
| MediaAccessId | _parentId |
| Access Id of media handler we depend on. | |
Implementation class for ISO MediaHandler.
Definition at line 35 of file MediaISO.h.
| zypp::media::MediaISO::MediaISO | ( | const MediaUrl & | url_r, |
| const Pathname & | attach_point_hint_r ) |
Definition at line 44 of file MediaISO.cc.
|
override |
Definition at line 115 of file MediaISO.cc.
|
overrideprotectedvirtual |
Call concrete handler to attach the media.
Asserted that not already attached, and attachPoint is a directory.
| next | try next available device in turn until end of device list is reached (for media which are accessible through multiple devices like cdroms). |
| MediaException |
Implements zypp::media::MediaHandler.
Definition at line 142 of file MediaISO.cc.
|
overrideprotectedvirtual |
Call concrete handler to release the media.
If eject is true, and the media is used in one handler instance only, physically eject the media (i.e. CD-ROM).
Asserted that media is attached.
| ejectDev | Device to eject. None if empty. |
| MediaException |
Implements zypp::media::MediaHandler.
Definition at line 243 of file MediaISO.cc.
|
overrideprotectedvirtual |
Call concrete handler to provide file below attach point.
Default implementation provided, that returns whether a file is located at 'localRoot + filename'.
Asserted that media is attached.
| MediaException |
Reimplemented from zypp::media::MediaHandler.
Definition at line 269 of file MediaISO.cc.
|
overrideprotectedvirtual |
Call concrete handler to provide directory content (not recursive!) below attach point.
Return E_not_supported_by_media if media does not support retrieval of directory content.
Default implementation provided, that returns whether a directory is located at 'localRoot + dirname'.
Asserted that media is attached.
| MediaException |
Implements zypp::media::MediaHandler.
Definition at line 275 of file MediaISO.cc.
|
overrideprotectedvirtual |
Call concrete handler to provide a content list of directory on media via retlist.
If dots is false entries starting with '.' are not reported.
Return E_not_supported_by_media if media does not support retrieval of directory content.
Default implementation provided, that returns the content of a directory at 'localRoot + dirnname' retrieved via 'readdir'.
Asserted that media is attached and retlist is empty.
| MediaException |
Implements zypp::media::MediaHandler.
Definition at line 282 of file MediaISO.cc.
|
overrideprotectedvirtual |
Basically the same as getDirInfo above.
The content list is returned as filesystem::DirContent, which includes name and filetype of each directory entry. Retrieving the filetype usg. requires an additional ::stat call for each entry, thus it's more expensive than a simple readdir.
Asserted that media is attached and retlist is empty.
| MediaException |
Implements zypp::media::MediaHandler.
Definition at line 290 of file MediaISO.cc.
|
overrideprotectedvirtual |
check if a file exists
Asserted that url is a file and not a dir.
| MediaException |
Implements zypp::media::MediaHandler.
Definition at line 297 of file MediaISO.cc.
|
overridevirtual |
True if media is attached.
Reimplemented from zypp::media::MediaHandler.
Definition at line 136 of file MediaISO.cc.
|
private |
Definition at line 38 of file MediaISO.h.
|
private |
Definition at line 39 of file MediaISO.h.