zypp::media::MediaDISK Class Reference

Implementation class for DISK MediaHandler. More...

#include <MediaDISK.h>

Inheritance diagram for zypp::media::MediaDISK:

zypp::media::MediaHandler List of all members.

Public Member Functions

 MediaDISK (const Url &url_r, const Pathname &attach_point_hint_r)
virtual ~MediaDISK ()
virtual bool isAttached () const
 True if media is attached.
bool verifyIfDiskVolume (const Pathname &name)

Protected Member Functions

virtual void attachTo (bool next=false)
 Call concrete handler to attach the media.
virtual void releaseFrom (bool eject)
 Call concrete handler to release the media.
virtual void getFile (const Pathname &filename) const
 Call concrete handler to provide file below attach point.
virtual void getDir (const Pathname &dirname, bool recurse_r) const
 Call concrete handler to provide directory content (not recursive!) below attach point.
virtual void getDirInfo (std::list< std::string > &retlist, const Pathname &dirname, bool dots=true) const
 Call concrete handler to provide a content list of directory on media via retlist.
virtual void getDirInfo (filesystem::DirContent &retlist, const Pathname &dirname, bool dots=true) const
 Basically the same as getDirInfo above.
virtual bool getDoesFileExist (const Pathname &filename) const
 check if a file exists

Private Attributes

unsigned long _mountflags
std::string _device
std::string _filesystem

Detailed Description

Implementation class for DISK MediaHandler.

See also:
MediaHandler

Definition at line 27 of file MediaDISK.h.


Constructor & Destructor Documentation

zypp::media::MediaDISK::MediaDISK const Url url_r,
const Pathname attach_point_hint_r
 

Definition at line 51 of file MediaDISK.cc.

References _device, zypp::media::MediaHandler::_url, zypp::bit::asString(), ERR, zypp::Url::getQueryParam(), MIL, and ZYPP_THROW.

virtual zypp::media::MediaDISK::~MediaDISK  )  [inline, virtual]
 

Definition at line 53 of file MediaDISK.h.

References zypp::media::MediaHandler::release().


Member Function Documentation

void zypp::media::MediaDISK::attachTo bool  next = false  )  [protected, virtual]
 

Call concrete handler to attach the media.

Asserted that not already attached, and attachPoint is a directory.

Parameters:
next try next available device in turn until end of device list is reached (for media which are accessible through multiple devices like cdroms).
Exceptions:
MediaException 

Implements zypp::media::MediaHandler.

Definition at line 234 of file MediaDISK.cc.

References _device, _filesystem, zypp::media::MediaHandler::_url, zypp::media::AttachedMedia::attachPoint, DBG, zypp::media::MediaHandler::findAttachedMedia(), zypp::filesystem::PathInfo::isBlk(), zypp::filesystem::PathInfo::major(), zypp::media::AttachedMedia::mediaSource, zypp::filesystem::PathInfo::minor(), zypp::media::MediaHandler::removeAttachPoint(), zypp::media::MediaHandler::setAttachPoint(), zypp::media::MediaHandler::setMediaSource(), zypp::media::MediaHandler::url(), verifyIfDiskVolume(), and ZYPP_THROW.

void zypp::media::MediaDISK::releaseFrom bool  eject  )  [protected, virtual]
 

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.

Exceptions:
MediaException 

Implements zypp::media::MediaHandler.

Definition at line 386 of file MediaDISK.cc.

References zypp::bit::asString(), zypp::media::MediaHandler::attachPoint(), and zypp::media::Mount::umount().

void zypp::media::MediaDISK::getFile const Pathname filename  )  const [protected, virtual]
 

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.

Exceptions:
MediaException 

Implements zypp::media::MediaHandler.

Definition at line 400 of file MediaDISK.cc.

References zypp::media::MediaHandler::getFile().

void zypp::media::MediaDISK::getDir const Pathname dirname,
bool  recurse_r
const [protected, virtual]
 

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.

Exceptions:
MediaException 

Implements zypp::media::MediaHandler.

Definition at line 412 of file MediaDISK.cc.

References zypp::media::MediaHandler::getDir().

void zypp::media::MediaDISK::getDirInfo std::list< std::string > &  retlist,
const Pathname dirname,
bool  dots = true
const [protected, virtual]
 

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.

Exceptions:
MediaException 

Implements zypp::media::MediaHandler.

Definition at line 425 of file MediaDISK.cc.

References zypp::media::MediaHandler::getDirInfo().

void zypp::media::MediaDISK::getDirInfo filesystem::DirContent retlist,
const Pathname dirname,
bool  dots = true
const [protected, virtual]
 

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.

Exceptions:
MediaException 

Implements zypp::media::MediaHandler.

Definition at line 439 of file MediaDISK.cc.

References zypp::media::MediaHandler::getDirInfo().

bool zypp::media::MediaDISK::getDoesFileExist const Pathname filename  )  const [protected, virtual]
 

check if a file exists

Asserted that url is a file and not a dir.

Exceptions:
MediaException 

Implements zypp::media::MediaHandler.

Definition at line 445 of file MediaDISK.cc.

References zypp::media::MediaHandler::getDoesFileExist().

bool zypp::media::MediaDISK::isAttached  )  const [virtual]
 

True if media is attached.

Reimplemented from zypp::media::MediaHandler.

Definition at line 373 of file MediaDISK.cc.

References zypp::media::MediaHandler::checkAttached().

bool zypp::media::MediaDISK::verifyIfDiskVolume const Pathname name  ) 
 

Definition at line 88 of file MediaDISK.cc.

References zypp::filesystem::Pathname::asString(), zypp::filesystem::Pathname::empty(), and ERR.

Referenced by attachTo().


Member Data Documentation

unsigned long zypp::media::MediaDISK::_mountflags [private]
 

Definition at line 31 of file MediaDISK.h.

std::string zypp::media::MediaDISK::_device [private]
 

Definition at line 33 of file MediaDISK.h.

Referenced by attachTo(), and MediaDISK().

std::string zypp::media::MediaDISK::_filesystem [private]
 

Definition at line 34 of file MediaDISK.h.

Referenced by attachTo().


The documentation for this class was generated from the following files:
Generated on Thu Apr 24 02:25:10 2008 for zypp by  doxygen 1.4.6