sbuild  1.7.1
Public Types | Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes | List of all members
sbuild::chroot::facet::mountable Class Reference

Chroot support for mountable devices and filesystems. More...

#include <mountable.h>

+ Inheritance diagram for sbuild::chroot::facet::mountable:
+ Collaboration diagram for sbuild::chroot::facet::mountable:

Public Types

typedef std::shared_ptr
< mountable
ptr
 A shared_ptr to a chroot facet object.
 
typedef std::shared_ptr< const
mountable
const_ptr
 A shared_ptr to a const chroot facet object.
 
- Public Types inherited from sbuild::chroot::facet::facet
enum  session_flags { SESSION_NOFLAGS = 0, SESSION_CREATE = 1 << 0, SESSION_CLONE = 1 << 1, SESSION_PURGE = 1 << 2 }
 Chroot session properties. More...
 
typedef std::shared_ptr< facetptr
 A shared_ptr to a chroot facet object.
 
typedef std::shared_ptr< const
facet
const_ptr
 A shared_ptr to a const chroot facet object.
 

Public Member Functions

virtual ~mountable ()
 The destructor.
 
virtual facet::ptr clone () const
 Copy the chroot facet. More...
 
virtual std::string const & get_name () const
 Get the name of the chroot facet. More...
 
virtual std::string const & get_mount_device () const
 Get the device path of the chroot block device to mount. More...
 
virtual void set_mount_device (const std::string &mount_device)
 Set the device path of the chroot block device to mount. More...
 
virtual std::string const & get_mount_options () const
 Get the filesystem mount options of the chroot block device. More...
 
virtual void set_mount_options (const std::string &mount_options)
 Set the filesystem mount options of the chroot block device. More...
 
virtual std::string const & get_location () const
 Get the location. More...
 
virtual void set_location (const std::string &location)
 Set the location. More...
 
virtual void setup_env (environment &env) const
 Set environment. More...
 
virtual void get_details (format_detail &detail) const
 Get detailed information about the chroot for output. More...
 
virtual void get_used_keys (string_list &used_keys) const
 Get a list of the keys used during keyfile parsing. More...
 
virtual void get_keyfile (keyfile &keyfile) const
 Copy the chroot properties into a keyfile. More...
 
virtual void set_keyfile (const keyfile &keyfile)
 Set the chroot properties from a keyfile. More...
 
- Public Member Functions inherited from sbuild::chroot::facet::facet
virtual ~facet ()
 The destructor.
 
virtual session_flags get_session_flags () const
 Get the session flags of the chroot. More...
 

Static Public Member Functions

static ptr create ()
 Create a chroot facet. More...
 

Private Member Functions

 mountable ()
 The constructor.
 

Private Attributes

std::string mount_device
 The device to mount.
 
std::string mount_options
 The options to mount the device with.
 
std::string location
 Location inside the mount location root.
 

Additional Inherited Members

- Protected Member Functions inherited from sbuild::chroot::facet::facet
 facet ()
 The constructor.
 
virtual void set_chroot (chroot &chroot, bool copy=false)
 Set containing chroot. More...
 
- Protected Attributes inherited from sbuild::chroot::facet::facet
chrootowner
 Chroot owning this facet.
 

Detailed Description

Chroot support for mountable devices and filesystems.

This facet should be selected for sessions using the mount command to create the chroot. The specified device will be mounted on demand.

This facet is not restricted to block devices and can also be used for network filesystems, loopback files and other mountable objects.

Member Function Documentation

facet::ptr sbuild::chroot::facet::mountable::clone ( ) const
virtual

Copy the chroot facet.

This is a virtual copy constructor.

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

Implements sbuild::chroot::facet::facet.

References mountable().

mountable::ptr sbuild::chroot::facet::mountable::create ( )
static

Create a chroot facet.

Returns
a shared_ptr to the new chroot facet.

References mountable().

Referenced by sbuild::chroot::facet::loopback::set_chroot(), and sbuild::chroot::facet::block_device_base::set_chroot().

+ Here is the caller graph for this function:

void sbuild::chroot::facet::mountable::get_details ( format_detail detail) const
virtual

Get detailed information about the chroot for output.

Parameters
detailthe details to output to.

Reimplemented from sbuild::chroot::facet::facet.

References sbuild::_(), sbuild::format_detail::add(), get_location(), get_mount_device(), and get_mount_options().

void sbuild::chroot::facet::mountable::get_keyfile ( keyfile keyfile) const
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
keyfilethe keyfile to use.

Reimplemented from sbuild::chroot::facet::facet.

References sbuild::chroot::chroot::get_facet(), get_location(), get_mount_device(), get_mount_options(), sbuild::chroot::chroot::get_name(), sbuild::chroot::facet::facet::owner, and sbuild::keyfile::set_object_value().

std::string const & sbuild::chroot::facet::mountable::get_location ( ) const
virtual

Get the location.

This is a path to the chroot directory inside the device (absolute path from the device root).

Returns
the location.

References location.

Referenced by get_details(), get_keyfile(), and setup_env().

+ Here is the caller graph for this function:

std::string const & sbuild::chroot::facet::mountable::get_mount_device ( ) const
virtual

Get the device path of the chroot block device to mount.

Returns
the mount device.

References mount_device.

Referenced by get_details(), get_keyfile(), and setup_env().

+ Here is the caller graph for this function:

std::string const & sbuild::chroot::facet::mountable::get_mount_options ( ) const
virtual

Get the filesystem mount options of the chroot block device.

Returns
the mount options.

References mount_options.

Referenced by get_details(), get_keyfile(), and setup_env().

+ Here is the caller graph for this function:

std::string const & sbuild::chroot::facet::mountable::get_name ( ) const
virtual

Get the name of the chroot facet.

Returns
the chroot facet name.

Implements sbuild::chroot::facet::facet.

void sbuild::chroot::facet::mountable::get_used_keys ( string_list used_keys) const
virtual

Get a list of the keys used during keyfile parsing.

Returns
a list of key names.

Reimplemented from sbuild::chroot::facet::facet.

void sbuild::chroot::facet::mountable::set_keyfile ( const keyfile keyfile)
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
keyfilethe keyfile to get the properties from.

Reimplemented from sbuild::chroot::facet::facet.

References sbuild::chroot::chroot::get_facet(), sbuild::chroot::chroot::get_name(), sbuild::keyfile::get_object_value(), sbuild::chroot::facet::facet::owner, sbuild::keyfile::PRIORITY_DISALLOWED, sbuild::keyfile::PRIORITY_OPTIONAL, sbuild::keyfile::PRIORITY_REQUIRED, set_location(), set_mount_device(), and set_mount_options().

void sbuild::chroot::facet::mountable::set_location ( const std::string &  location)
virtual

Set the location.

This is a path to the chroot directory inside the device (absolute path from the device root).

Parameters
locationthe location.

References sbuild::is_absname(), location, and sbuild::chroot::chroot::LOCATION_ABS.

Referenced by set_keyfile().

+ Here is the caller graph for this function:

void sbuild::chroot::facet::mountable::set_mount_device ( const std::string &  mount_device)
virtual

Set the device path of the chroot block device to mount.

Parameters
mount_devicethe mount device.

References mount_device.

Referenced by set_keyfile().

+ Here is the caller graph for this function:

void sbuild::chroot::facet::mountable::set_mount_options ( const std::string &  mount_options)
virtual

Set the filesystem mount options of the chroot block device.

Parameters
mount_optionsthe mount options.

References mount_options.

Referenced by set_keyfile().

+ Here is the caller graph for this function:

void sbuild::chroot::facet::mountable::setup_env ( environment env) const
virtual

Set environment.

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

Parameters
envthe environment to set.

Reimplemented from sbuild::chroot::facet::facet.

References sbuild::environment::add(), get_location(), get_mount_device(), and get_mount_options().


The documentation for this class was generated from the following files: