|
sbuild
1.7.1
|
Chroot support for sessions. More...
#include <session.h>
Inheritance diagram for sbuild::chroot::facet::session:
Collaboration diagram for sbuild::chroot::facet::session:Public Types | |
| typedef chroot::error | error |
| Exception type. | |
| typedef std::shared_ptr< session > | ptr |
| A shared_ptr to a chroot facet object. | |
|
typedef std::shared_ptr< const session > | 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< 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 () |
| 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... | |
| std::string const & | get_original_name () const |
| Get the original name of the chroot (prior to session cloning). More... | |
| void | set_original_name (const std::string &name) |
| Set the original name of the chroot (prior to session cloning). More... | |
| std::string const & | get_selected_name () const |
| Get the selected name of the chroot (alias used). More... | |
| void | set_selected_name (const std::string &name) |
| Set the selected name of the chroot (alias used). More... | |
| void | setup_session_info (bool start) |
| Set up persistent session information. 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 | |
| session () | |
| The constructor. | |
Private Attributes | |
| std::string | original_chroot_name |
| Original chroot name prior to session cloning. | |
| std::string | selected_chroot_name |
| Selected chroot name. | |
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 | |
| chroot * | owner |
| Chroot owning this facet. | |
Chroot support for sessions.
A chroot may offer a "session" facet to signal restorable or parallel chroot environment usage. The presence of this facet indicates that the chroot is an active session.
|
virtual |
Copy the chroot facet.
This is a virtual copy constructor.
Implements sbuild::chroot::facet::facet.
References session().
|
static |
Create a chroot facet.
References session().
Referenced by sbuild::chroot::facet::session_clonable::clone_session().
Here is the caller graph for this function:
|
virtual |
Get detailed information about the chroot for output.
| detail | the details to output to. |
Reimplemented from sbuild::chroot::facet::facet.
References sbuild::_(), sbuild::format_detail::add(), sbuild::chroot::chroot::get_name(), get_original_name(), get_selected_name(), and sbuild::chroot::facet::facet::owner.
|
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.
| keyfile | the keyfile to use. |
Reimplemented from sbuild::chroot::facet::facet.
References sbuild::chroot::chroot::get_name(), get_original_name(), get_selected_name(), sbuild::chroot::facet::facet::owner, and sbuild::keyfile::set_object_value().
|
virtual |
Get the name of the chroot facet.
Implements sbuild::chroot::facet::facet.
| std::string const & sbuild::chroot::facet::session::get_original_name | ( | ) | const |
Get the original name of the chroot (prior to session cloning).
References original_chroot_name.
Referenced by get_details(), get_keyfile(), and setup_env().
Here is the caller graph for this function:| std::string const & sbuild::chroot::facet::session::get_selected_name | ( | ) | const |
Get the selected name of the chroot (alias used).
References selected_chroot_name.
Referenced by get_details(), get_keyfile(), and setup_env().
Here is the caller graph for this function:
|
virtual |
Get a list of the keys used during keyfile parsing.
Reimplemented from sbuild::chroot::facet::facet.
|
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.
| keyfile | the 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, set_original_name(), and set_selected_name().
| void sbuild::chroot::facet::session::set_original_name | ( | const std::string & | name) |
Set the original name of the chroot (prior to session cloning).
This will also set the selected name.
| name | the name. |
References original_chroot_name, and selected_chroot_name.
Referenced by set_keyfile().
Here is the caller graph for this function:| void sbuild::chroot::facet::session::set_selected_name | ( | const std::string & | name) |
Set the selected name of the chroot (alias used).
| name | the name. |
References sbuild::chroot::config::get_namespace(), and selected_chroot_name.
Referenced by set_keyfile().
Here is the caller graph for this function:
|
virtual |
Set environment.
Set the environment that the setup scripts will see during execution.
| env | the environment to set. |
Reimplemented from sbuild::chroot::facet::facet.
References sbuild::environment::add(), get_original_name(), and get_selected_name().
| void sbuild::chroot::facet::session::setup_session_info | ( | bool | start) |
Set up persistent session information.
| start | true if starting, or false if ending a session. |
References sbuild::chroot::chroot::FILE_LOCK, sbuild::chroot::chroot::FILE_UNLOCK, sbuild::chroot::chroot::get_keyfile(), sbuild::chroot::chroot::get_name(), sbuild::lock::LOCK_EXCLUSIVE, sbuild::chroot::facet::facet::owner, sbuild::chroot::chroot::SESSION_UNLINK, sbuild::chroot::chroot::SESSION_WRITE, sbuild::file_lock::set_lock(), and sbuild::file_lock::unset_lock().
1.8.4