sbuild
1.7.1
|
Chroot support for creation of sessions. More...
#include <session-clonable.h>
Public Types | |
typedef std::shared_ptr < session_clonable > | ptr |
A shared_ptr to a chroot facet object. | |
typedef std::shared_ptr< const session_clonable > | const_ptr |
A shared_ptr to a const chroot facet object. | |
![]() | |
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< facet > | ptr |
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 | ~session_clonable () |
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 session_flags | get_session_flags () const |
Get the session flags of the chroot. More... | |
virtual chroot::ptr | clone_session (const std::string &session_id, const std::string &alias, const std::string &user, bool root) const |
Clone a session chroot. More... | |
![]() | |
virtual | ~facet () |
The destructor. | |
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... | |
Static Public Member Functions | |
static ptr | create () |
Create a chroot facet. More... | |
Private Member Functions | |
session_clonable () | |
The constructor. | |
Additional Inherited Members | |
![]() | |
facet () | |
The constructor. | |
virtual void | set_chroot (chroot &chroot, bool copy=false) |
Set containing chroot. More... | |
![]() | |
chroot * | owner |
Chroot owning this facet. | |
Chroot support for creation of sessions.
A chroot may offer a "session" facet to signal restorable or parallel chroot environment usage. This facet allows the chroot to support session creation.
|
virtual |
Copy the chroot facet.
This is a virtual copy constructor.
Implements sbuild::chroot::facet::facet.
References session_clonable().
Referenced by clone_session().
|
virtual |
Clone a session chroot.
session_id | the identifier for the new session. |
alias | the alias used to initially identify the chroot. |
user | the user creating the session. |
root | whether or not the user is switching to root. |
References sbuild::_(), sbuild::chroot::facet::session_setup::chroot_session_setup(), clone(), sbuild::chroot::chroot::clone(), sbuild::chroot::facet::session::create(), sbuild::DEBUG_INFO, sbuild::DEBUG_NOTICE, sbuild::chroot::facet::facet::facet(), sbuild::log_debug(), and sbuild::chroot::facet::facet::owner.
|
static |
Create a chroot facet.
References session_clonable().
Referenced by sbuild::chroot::facet::lvm_snapshot::set_chroot(), sbuild::chroot::facet::file::set_chroot(), sbuild::chroot::facet::loopback::set_chroot(), sbuild::chroot::facet::btrfs_snapshot::set_chroot(), sbuild::chroot::facet::directory::set_chroot(), sbuild::chroot::facet::block_device::set_chroot(), sbuild::chroot::facet::custom::set_chroot(), and sbuild::chroot::facet::custom::set_session_cloneable().
|
virtual |
Get the name of the chroot facet.
Implements sbuild::chroot::facet::facet.
|
virtual |
Get the session flags of the chroot.
These determine how the Session controlling the chroot will operate.
chroot | the chroot to use. |
Reimplemented from sbuild::chroot::facet::facet.
References sbuild::chroot::facet::facet::SESSION_CREATE.