sbuild::chroot_lvm_snapshot Class Reference

A chroot stored on an LVM logical volume (LV). More...

#include <sbuild-chroot-lvm-snapshot.h>

Inheritance diagram for sbuild::chroot_lvm_snapshot:

Inheritance graph
[legend]
Collaboration diagram for sbuild::chroot_lvm_snapshot:

Collaboration graph
[legend]
List of all members.

Public Member Functions

virtual ~chroot_lvm_snapshot ()
 The destructor.
virtual chroot::ptr clone () const
 Copy the chroot.
virtual chroot::ptr clone_source () const
std::string const & get_snapshot_device () const
 Get the logical volume snapshot device name.
void set_snapshot_device (std::string const &snapshot_device)
 Set the logical volume snapshot device name.
virtual std::string const & get_mount_device () const
 Get the mount device of the chroot.
std::string const & get_snapshot_options () const
 Get the logical volume snapshot options.
void set_snapshot_options (std::string const &snapshot_options)
 Set the logical volume snapshot options.
virtual std::string const & get_chroot_type () const
 Get the type of the chroot.
virtual void setup_env (environment &env)
 Set environment.
virtual session_flags get_session_flags () const
 Get the session flags of the chroot.

Protected Member Functions

 chroot_lvm_snapshot ()
 The constructor.
virtual void setup_lock (setup_type type, bool lock, int status)
virtual void get_details (format_detail &detail) const
 Get detailed information about the chroot for output.
virtual void get_keyfile (keyfile &keyfile) const
 Copy the chroot properties into a keyfile.
virtual void set_keyfile (keyfile const &keyfile)
 Set the chroot properties from a keyfile.

Private Attributes

std::string snapshot_device
 LVM snapshot device name for lvcreate.
std::string snapshot_options
 LVM snapshot options for lvcreate.

Friends

class chroot

Detailed Description

A chroot stored on an LVM logical volume (LV).

A snapshot LV will be created and mounted on demand.


Constructor & Destructor Documentation

chroot_lvm_snapshot::chroot_lvm_snapshot (  )  [protected]

The constructor.

chroot_lvm_snapshot::~chroot_lvm_snapshot (  )  [virtual]

The destructor.


Member Function Documentation

sbuild::chroot::ptr chroot_lvm_snapshot::clone (  )  const [virtual]

Copy the chroot.

This is a virtual copy constructor.

Returns:
a shared_ptr to the new copy of the chroot.

Reimplemented from sbuild::chroot_block_device.

sbuild::chroot::ptr chroot_lvm_snapshot::clone_source (  )  const [virtual]

Implements sbuild::chroot_source.

std::string const & chroot_lvm_snapshot::get_chroot_type (  )  const [virtual]

Get the type of the chroot.

Returns:
the chroot type.

Reimplemented from sbuild::chroot_block_device.

void chroot_lvm_snapshot::get_details ( format_detail detail  )  const [protected, virtual]

Get detailed information about the chroot for output.

Parameters:
detail the details to output to.

Reimplemented from sbuild::chroot_block_device.

void chroot_lvm_snapshot::get_keyfile ( keyfile keyfile  )  const [protected, virtual]

Copy the chroot properties into a keyfile.

The keyfile group with the name of the chroot will be set; if it already exists, it will be removed before setting it.

Parameters:
keyfile the keyfile to use.

Reimplemented from sbuild::chroot_block_device.

std::string const & chroot_lvm_snapshot::get_mount_device (  )  const [virtual]

Get the mount device of the chroot.

Returns:
the device.

Reimplemented from sbuild::chroot_block_device.

sbuild::chroot::session_flags chroot_lvm_snapshot::get_session_flags (  )  const [virtual]

Get the session flags of the chroot.

These determine how the Session controlling the chroot will operate.

Returns:
the session flags.

Reimplemented from sbuild::chroot_block_device.

std::string const & chroot_lvm_snapshot::get_snapshot_device (  )  const

Get the logical volume snapshot device name.

This is used by lvcreate.

Returns:
the device name.

std::string const & chroot_lvm_snapshot::get_snapshot_options (  )  const

Get the logical volume snapshot options.

These are used by lvcreate.

Returns:
the options.

void chroot_lvm_snapshot::set_keyfile ( keyfile const &  keyfile  )  [protected, virtual]

Set the chroot properties from a keyfile.

The chroot name must have previously been set, so that the correct keyfile group may be determined.

Parameters:
keyfile the keyfile to get the properties from.

Reimplemented from sbuild::chroot_block_device.

void chroot_lvm_snapshot::set_snapshot_device ( std::string const &  snapshot_device  ) 

Set the logical volume snapshot device name.

This is used by lvcreate.

Parameters:
snapshot_device the device name.

void chroot_lvm_snapshot::set_snapshot_options ( std::string const &  snapshot_options  ) 

Set the logical volume snapshot options.

These are used by lvcreate.

Parameters:
snapshot_options the options.

void chroot_lvm_snapshot::setup_env ( environment env  )  [virtual]

Set environment.

Set the environment that the setup scripts will see during execution.

Parameters:
env the environment to set.

Reimplemented from sbuild::chroot_block_device.

void chroot_lvm_snapshot::setup_lock ( setup_type  type,
bool  lock,
int  status 
) [protected, virtual]

Reimplemented from sbuild::chroot_block_device.


Friends And Related Function Documentation

friend class chroot [friend]

Reimplemented from sbuild::chroot_block_device.


Member Data Documentation

std::string sbuild::chroot_lvm_snapshot::snapshot_device [private]

LVM snapshot device name for lvcreate.

std::string sbuild::chroot_lvm_snapshot::snapshot_options [private]

LVM snapshot options for lvcreate.


The documentation for this class was generated from the following files:
Generated on Thu Jul 6 19:27:06 2006 for schroot by  doxygen 1.4.7