zypp::media::Mount Class Reference

#include <Mount.h>

List of all members.

Public Types

typedef
ExternalProgram::Environment 
Environment
 For passing additional environment variables to mount.
typedef KVMap
< kvmap::KVMapBase::CharSep<'=',','> > 
Options
 Mount options.

Public Member Functions

 Mount ()
 Create an new instance.
 ~Mount ()
 Clean up.
void mount (const std::string &source, const std::string &target, const std::string &filesystem, const std::string &options, const Environment &environment=Environment())
 mount device
void umount (const std::string &path)
 umount device

Static Public Member Functions

static MountEntries getEntries (const std::string &mtab="")
 Return mount entries from /etc/mtab or /etc/fstab file.

Private Member Functions

void run (const char *const *argv, const Environment &environment, ExternalProgram::Stderr_Disposition stderr_disp=ExternalProgram::Stderr_To_Stdout)
 Run mount with the specified arguments and handle stderr.
void run (const char *const *argv, ExternalProgram::Stderr_Disposition stderr_disp=ExternalProgram::Stderr_To_Stdout)
int Status ()
 Return the exit status of the process, closing the connection if not already done.
void Kill ()
 Forcably kill the process.

Private Attributes

ExternalProgram * process
 The connection to the mount process.
int exit_code
 The exit code of the process, or -1 if not yet known.


Detailed Description

Interface to the mount program

Definition at line 65 of file Mount.h.


Member Typedef Documentation

typedef ExternalProgram::Environment zypp::media::Mount::Environment

For passing additional environment variables to mount.

Definition at line 73 of file Mount.h.

typedef KVMap<kvmap::KVMapBase::CharSep<'=',','> > zypp::media::Mount::Options

Mount options.

'key' or 'key=value' pairs, separated by ','

Definition at line 78 of file Mount.h.


Constructor & Destructor Documentation

zypp::media::Mount::Mount (  ) 

Create an new instance.

Definition at line 37 of file Mount.cc.

References exit_code, and process.

zypp::media::Mount::~Mount (  ) 

Clean up.

Definition at line 43 of file Mount.cc.

References MIL, and process.


Member Function Documentation

void zypp::media::Mount::mount ( const std::string &  source,
const std::string &  target,
const std::string &  filesystem,
const std::string &  options,
const Environment &  environment = Environment() 
)

mount device

Parameters:
source what to mount (e.g. /dev/hda3)
target where to mount (e.g. /mnt)
filesystem which filesystem to use (e.g. reiserfs) (-t parameter)
options mount options (e.g. ro) (-o parameter)
environment optinal environment to pass (e.g. PASSWD="sennah")
Exceptions:
MediaException 

Definition at line 55 of file Mount.cc.

References DBG, MIL, process, zypp::externalprogram::ExternalDataSource::receiveLine(), run(), Status(), zypp::ExternalProgram::Stderr_To_Stdout, WAR, and ZYPP_THROW.

Referenced by zypp::media::MediaSMB::attachTo(), zypp::media::MediaNFS::attachTo(), zypp::media::MediaISO::attachTo(), zypp::media::MediaDISK::attachTo(), and zypp::media::MediaCD::attachTo().

void zypp::media::Mount::umount ( const std::string &  path  ) 

umount device

Parameters:
path device or mountpoint to umount
Exceptions:
MediaException 

Definition at line 151 of file Mount.cc.

References DBG, MIL, process, zypp::externalprogram::ExternalDataSource::receiveLine(), run(), Status(), zypp::ExternalProgram::Stderr_To_Stdout, WAR, and ZYPP_THROW.

Referenced by zypp::media::MediaSMB::attachTo(), zypp::media::MediaNFS::attachTo(), zypp::media::MediaISO::attachTo(), zypp::media::MediaDISK::attachTo(), zypp::media::MediaCD::attachTo(), zypp::media::MediaHandler::forceRelaseAllMedia(), zypp::media::MediaSMB::releaseFrom(), zypp::media::MediaNFS::releaseFrom(), zypp::media::MediaISO::releaseFrom(), zypp::media::MediaDISK::releaseFrom(), and zypp::media::MediaCD::releaseFrom().

MountEntries zypp::media::Mount::getEntries ( const std::string &  mtab = ""  )  [static]

Return mount entries from /etc/mtab or /etc/fstab file.

Parameters:
mtab The name of the (mounted) file system description file to read from. This file should be one /etc/mtab, /etc/fstab or /proc/mounts. Default is to try the /etc/mtab and fail back to /proc/mounts.
Returns:
A vector with mount entries or empty vector if reading or parsing of the mtab file(s) failed.

Definition at line 264 of file Mount.cc.

References DBG, zypp::str::strerror(), and WAR.

void zypp::media::Mount::run ( const char *const *  argv,
const Environment &  environment,
ExternalProgram::Stderr_Disposition  stderr_disp = ExternalProgram::Stderr_To_Stdout 
) [private]

Run mount with the specified arguments and handle stderr.

Parameters:
argv Mount arguments
environment Addittional environment to set
stderr_disp How to handle stderr, merged with stdout by default

Definition at line 222 of file Mount.cc.

References exit_code, and process.

Referenced by mount(), run(), and umount().

void zypp::media::Mount::run ( const char *const *  argv,
ExternalProgram::Stderr_Disposition  stderr_disp = ExternalProgram::Stderr_To_Stdout 
) [inline, private]

Definition at line 151 of file Mount.h.

References run().

int zypp::media::Mount::Status (  )  [private]

Return the exit status of the process, closing the connection if not already done.

Definition at line 241 of file Mount.cc.

References zypp::ExternalProgram::close(), DBG, exit_code, zypp::ExternalProgram::kill(), and process.

Referenced by mount(), and umount().

void zypp::media::Mount::Kill (  )  [private]

Forcably kill the process.

Definition at line 257 of file Mount.cc.

References zypp::ExternalProgram::kill(), and process.


Member Data Documentation

ExternalProgram* zypp::media::Mount::process [private]

The connection to the mount process.

Definition at line 139 of file Mount.h.

Referenced by Kill(), mount(), Mount(), run(), Status(), umount(), and ~Mount().

int zypp::media::Mount::exit_code [private]

The exit code of the process, or -1 if not yet known.

Definition at line 170 of file Mount.h.

Referenced by Mount(), run(), and Status().


The documentation for this class was generated from the following files:
Generated on Sun Oct 14 22:31:08 2007 for libzypp by  doxygen 1.5.3