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::personality Class Reference

Chroot support for kernel personalities (execution domains). More...

#include <personality.h>

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

Public Types

typedef std::shared_ptr
< personality
ptr
 A shared_ptr to a chroot facet object.
 
typedef std::shared_ptr< const
personality
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 ~personality ()
 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...
 
sbuild::personality const & get_persona () const
 Get the process execution domain for the chroot. More...
 
void set_persona (const sbuild::personality &persona)
 Set the process execution domain for the chroot. 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 void setup_env (environment &env) const
 Set environment. More...
 
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

 personality ()
 The constructor.
 

Private Attributes

sbuild::personality persona
 Process execution domain (Linux only).
 

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 kernel personalities (execution domains).

Member Function Documentation

facet::ptr sbuild::chroot::facet::personality::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 personality().

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

Create a chroot facet.

Returns
a shared_ptr to the new chroot facet.

References personality().

void sbuild::chroot::facet::personality::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_name(), and get_persona().

void sbuild::chroot::facet::personality::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 get_name(), sbuild::chroot::chroot::get_name(), get_persona(), sbuild::chroot::facet::facet::owner, and sbuild::keyfile::set_object_value().

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

Get the name of the chroot facet.

Returns
the chroot facet name.

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

Referenced by get_details(), and get_keyfile().

+ Here is the caller graph for this function:

sbuild::personality const & sbuild::chroot::facet::personality::get_persona ( ) const

Get the process execution domain for the chroot.

Returns
the personality.

References persona.

Referenced by get_details(), get_keyfile(), and sbuild::session::run_child().

+ Here is the caller graph for this function:

void sbuild::chroot::facet::personality::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::personality::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_name(), sbuild::keyfile::get_object_value(), sbuild::chroot::facet::facet::owner, sbuild::keyfile::PRIORITY_OPTIONAL, and set_persona().

void sbuild::chroot::facet::personality::set_persona ( const sbuild::personality persona)

Set the process execution domain for the chroot.

Parameters
personathe personality.

References persona.

Referenced by set_keyfile().

+ Here is the caller graph for this function:


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