sbuild::ChrootLvmSnapshot Class Reference

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

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

Inheritance diagram for sbuild::ChrootLvmSnapshot:

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

Collaboration graph
[legend]
List of all members.

Public Member Functions

 ChrootLvmSnapshot ()
 The constructor.
 ChrootLvmSnapshot (const keyfile &keyfile, const std::string &group)
 The constructor.
virtual ~ChrootLvmSnapshot ()
 The destructor.
virtual Chrootclone () const
 Copy the chroot.
const std::string & get_snapshot_device () const
 Get the logical volume snapshot device name.
void set_snapshot_device (const std::string &snapshot_device)
 Set the logical volume snapshot device name.
virtual const std::string & get_mount_device () const
 Get the mount device of the chroot.
const std::string & get_snapshot_options () const
 Get the logical volume snapshot options.
void set_snapshot_options (const std::string &snapshot_options)
 Set the logical volume snapshot options.
virtual const std::string & get_chroot_type () const
 Get the type of the chroot.
virtual void setup_env (env_list &env)
 Set environment.
virtual void setup_lock (SetupType type, bool lock)
virtual SessionFlags get_session_flags () const
 Get the session flags of the chroot.
virtual void print_details (std::ostream &stream) const
 Print detailed information about the chroot to a stream.
virtual void print_config (std::ostream &stream) const
 Print the configuration group for a chroot in the format required by schroot.conf.

Private Member Functions

void read_keyfile (const keyfile &keyfile, const std::string &group)
 Read chroot configuration from a keyfile.
void setup_session_info (bool start)
 Set up persistent session information.

Private Attributes

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

Detailed Description

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

A snapshot LV will be created and mounted on demand.


Constructor & Destructor Documentation

ChrootLvmSnapshot::ChrootLvmSnapshot const keyfile keyfile,
const std::string &  group
 

The constructor.

Initialise from an open keyfile.

Parameters:
keyfile the configuration file
group the keyfile group (chroot name)


Member Function Documentation

Chroot * ChrootLvmSnapshot::clone  )  const [virtual]
 

Copy the chroot.

This is a virtual copy constructor.

Returns:
a copy of the chroot.

Reimplemented from sbuild::ChrootBlockDevice.

const std::string & ChrootLvmSnapshot::get_chroot_type  )  const [virtual]
 

Get the type of the chroot.

Returns:
the chroot type.

Reimplemented from sbuild::ChrootBlockDevice.

const std::string & ChrootLvmSnapshot::get_mount_device  )  const [virtual]
 

Get the mount device of the chroot.

Returns:
the device.

Reimplemented from sbuild::ChrootBlockDevice.

Chroot::SessionFlags ChrootLvmSnapshot::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::ChrootBlockDevice.

const std::string & ChrootLvmSnapshot::get_snapshot_device  )  const
 

Get the logical volume snapshot device name.

This is used by lvcreate.

Returns:
the device name.

const std::string & ChrootLvmSnapshot::get_snapshot_options  )  const
 

Get the logical volume snapshot options.

These are used by lvcreate.

Returns:
the options.

void ChrootLvmSnapshot::print_config std::ostream &  stream  )  const [virtual]
 

Print the configuration group for a chroot in the format required by schroot.conf.

Parameters:
stream the stream to output to.
Todo:
Replace with proper serialisation code to stream to a keyfile.

Reimplemented from sbuild::ChrootBlockDevice.

void ChrootLvmSnapshot::print_details std::ostream &  stream  )  const [virtual]
 

Print detailed information about the chroot to a stream.

The information is printed in plain text with one line per property.

Parameters:
stream the stream to output to.

Reimplemented from sbuild::ChrootBlockDevice.

void ChrootLvmSnapshot::read_keyfile const keyfile keyfile,
const std::string &  group
[private]
 

Read chroot configuration from a keyfile.

Parameters:
keyfile the configuration file
group the keyfile group (chroot name)

Reimplemented from sbuild::ChrootBlockDevice.

void ChrootLvmSnapshot::set_snapshot_device const std::string &  snapshot_device  ) 
 

Set the logical volume snapshot device name.

This is used by lvcreate.

Parameters:
snapshot_device the device name.

void ChrootLvmSnapshot::set_snapshot_options const std::string &  snapshot_options  ) 
 

Set the logical volume snapshot options.

These are used by lvcreate.

Parameters:
snapshot_options the options.

void ChrootLvmSnapshot::setup_env env_list &  env  )  [virtual]
 

Set environment.

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

Parameters:
env the environment to set.

Reimplemented from sbuild::ChrootBlockDevice.

void ChrootLvmSnapshot::setup_session_info bool  start  )  [private]
 

Set up persistent session information.

Parameters:
start true if startion, or false if ending a session.


The documentation for this class was generated from the following files:
Generated on Thu Dec 29 17:20:04 2005 for schroot by  doxygen 1.4.5