#include <sbuild-chroot-facet-source-clonable.h>


Public Types | |
|
typedef std::tr1::shared_ptr < chroot_facet_source_clonable > | ptr |
| A shared_ptr to a chroot facet object. | |
|
typedef std::tr1::shared_ptr < const chroot_facet_source_clonable > | const_ptr |
| A shared_ptr to a const chroot facet object. | |
Public Member Functions | |
| virtual | ~chroot_facet_source_clonable () |
| The destructor. | |
| virtual chroot_facet::ptr | clone () const |
| Copy the chroot facet. | |
| virtual std::string const & | get_name () const |
| Get the name of the chroot facet. | |
| virtual void | clone_source_setup (chroot::ptr &clone) const |
| Set the defaults in the cloned source chroot. | |
| virtual bool | get_source_clone () const |
| Is cloning a source chroot automatically permitted? Note that this is merely a hint and does not prevent cloning. | |
| virtual void | set_source_clone (bool clone) |
| Set if cloning a source chroot automatically is permitted. | |
| virtual string_list const & | get_source_users () const |
| Get the users allowed to access the source chroot. | |
| virtual void | set_source_users (string_list const &users) |
| Set the users allowed to access the source chroot. | |
| virtual string_list const & | get_source_groups () const |
| Get the groups allowed to access the source chroot. | |
| virtual void | set_source_groups (string_list const &groups) |
| Set the groups allowed to access the source chroot. | |
| virtual string_list const & | get_source_root_users () const |
| Get the users allowed to access the source chroot as root. | |
| virtual void | set_source_root_users (string_list const &users) |
| Set the users allowed to access the source chroot as root. | |
| virtual string_list const & | get_source_root_groups () const |
| Get the groups allowed to access the source chroot as root. | |
| virtual void | set_source_root_groups (string_list const &groups) |
| Set the groups allowed to access the source chroot as root. | |
| virtual void | setup_env (chroot const &chroot, environment &env) const |
| Set environment. | |
| virtual chroot::session_flags | get_session_flags (chroot const &chroot) const |
| Get the session flags of the chroot. | |
| virtual void | get_details (chroot const &chroot, format_detail &detail) const |
| Get detailed information about the chroot for output. | |
| virtual void | get_keyfile (chroot const &chroot, keyfile &keyfile) const |
| Copy the chroot properties into a keyfile. | |
| virtual void | set_keyfile (chroot &chroot, keyfile const &keyfile, string_list &used_keys) |
| Set the chroot properties from a keyfile. | |
Static Public Member Functions | |
| static ptr | create () |
| Create a chroot facet. | |
Private Member Functions | |
| chroot_facet_source_clonable () | |
| The constructor. | |
Private Attributes | |
| bool | source_clone |
| Is source chroot cloning permitted? | |
| string_list | source_users |
| Users allowed to access the source chroot. | |
| string_list | source_groups |
| Groups allowed to access the source chroot. | |
| string_list | source_root_users |
| Users allowed to access the source chroot as root. | |
| string_list | source_root_groups |
| Groups allowed to access the source chroot as root. | |
A chroot may offer a "source" chroot in addition to its typical session clone, to allow for maintenence of the source data. This facet can be used by any chroot wishing to provide such functionality.
| chroot_facet_source_clonable::ptr chroot_facet_source_clonable::create | ( | ) | [static] |
Create a chroot facet.
References chroot_facet_source_clonable().
Referenced by sbuild::chroot_btrfs_snapshot::chroot_btrfs_snapshot(), sbuild::chroot_file::chroot_file(), sbuild::chroot_lvm_snapshot::chroot_lvm_snapshot(), and sbuild::chroot_facet_union::set_union_type().

| chroot_facet::ptr chroot_facet_source_clonable::clone | ( | ) | const [virtual] |
Copy the chroot facet.
This is a virtual copy constructor.
Implements sbuild::chroot_facet.
References chroot_facet_source_clonable().
| std::string const & chroot_facet_source_clonable::get_name | ( | ) | const [virtual] |
| void chroot_facet_source_clonable::clone_source_setup | ( | chroot::ptr & | clone | ) | const [virtual] |
Set the defaults in the cloned source chroot.
| clone | the chroot to set up. |
References sbuild::chroot_facet_source::create(), get_source_groups(), get_source_root_groups(), get_source_root_users(), and get_source_users().
| bool chroot_facet_source_clonable::get_source_clone | ( | ) | const [virtual] |
Is cloning a source chroot automatically permitted? Note that this is merely a hint and does not prevent cloning.
References source_clone.
Referenced by get_keyfile().

| void chroot_facet_source_clonable::set_source_clone | ( | bool | clone | ) | [virtual] |
Set if cloning a source chroot automatically is permitted.
Note that this is merely a hint and does not prevent cloning.
| clone | true to automatically clone, otherwise false. |
Referenced by set_keyfile().

| string_list const & chroot_facet_source_clonable::get_source_users | ( | ) | const [virtual] |
Get the users allowed to access the source chroot.
References source_users.
Referenced by clone_source_setup(), get_details(), and get_keyfile().

| void chroot_facet_source_clonable::set_source_users | ( | string_list const & | users | ) | [virtual] |
Set the users allowed to access the source chroot.
| users | a list of users. |
Referenced by set_keyfile().

| string_list const & chroot_facet_source_clonable::get_source_groups | ( | ) | const [virtual] |
Get the groups allowed to access the source chroot.
References source_groups.
Referenced by clone_source_setup(), get_details(), and get_keyfile().

| void chroot_facet_source_clonable::set_source_groups | ( | string_list const & | groups | ) | [virtual] |
Set the groups allowed to access the source chroot.
| groups | a list of groups. |
Referenced by set_keyfile().

| string_list const & chroot_facet_source_clonable::get_source_root_users | ( | ) | const [virtual] |
Get the users allowed to access the source chroot as root.
Members of these users can switch to root without authenticating themselves.
References source_root_users.
Referenced by clone_source_setup(), get_details(), and get_keyfile().

| void chroot_facet_source_clonable::set_source_root_users | ( | string_list const & | users | ) | [virtual] |
Set the users allowed to access the source chroot as root.
Members of these users can switch to root without authenticating themselves.
| users | a list of users. |
References source_root_users.
Referenced by set_keyfile().

| string_list const & chroot_facet_source_clonable::get_source_root_groups | ( | ) | const [virtual] |
Get the groups allowed to access the source chroot as root.
Members of these groups can switch to root without authenticating themselves.
References source_root_groups.
Referenced by clone_source_setup(), get_details(), and get_keyfile().

| void chroot_facet_source_clonable::set_source_root_groups | ( | string_list const & | groups | ) | [virtual] |
Set the groups allowed to access the source chroot as root.
Members of these groups can switch to root without authenticating themselves.
| groups | a list of groups. |
References source_root_groups.
Referenced by set_keyfile().

| void chroot_facet_source_clonable::setup_env | ( | chroot const & | chroot, | |
| environment & | env | |||
| ) | const [virtual] |
Set environment.
Set the environment that the setup scripts will see during execution.
| chroot | the chroot to use. | |
| env | the environment to set. |
Implements sbuild::chroot_facet.
| sbuild::chroot::session_flags chroot_facet_source_clonable::get_session_flags | ( | chroot const & | chroot | ) | const [virtual] |
Get the session flags of the chroot.
These determine how the Session controlling the chroot will operate.
Implements sbuild::chroot_facet.
References sbuild::chroot::get_facet(), sbuild::chroot::SESSION_CLONE, and sbuild::chroot::SESSION_NOFLAGS.
| void chroot_facet_source_clonable::get_details | ( | chroot const & | chroot, | |
| format_detail & | detail | |||
| ) | const [virtual] |
Get detailed information about the chroot for output.
Implements sbuild::chroot_facet.
References sbuild::format_detail::add(), get_source_groups(), get_source_root_groups(), get_source_root_users(), and get_source_users().
| void chroot_facet_source_clonable::get_keyfile | ( | chroot const & | chroot, | |
| 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.
Implements sbuild::chroot_facet.
References sbuild::chroot::get_name(), get_source_clone(), get_source_groups(), get_source_root_groups(), get_source_root_users(), get_source_users(), sbuild::basic_keyfile< K, P >::set_object_list_value(), and sbuild::basic_keyfile< K, P >::set_object_value().
| void chroot_facet_source_clonable::set_keyfile | ( | chroot & | chroot, | |
| keyfile const & | keyfile, | |||
| string_list & | used_keys | |||
| ) | [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.
| chroot | the chroot to use. | |
| keyfile | the keyfile to get the properties from. | |
| used_keys | a list of the keys used will be set. |
Implements sbuild::chroot_facet.
References sbuild::chroot::get_name(), sbuild::basic_keyfile< K, P >::get_object_list_value(), sbuild::basic_keyfile< K, P >::get_object_value(), sbuild::keyfile_base::PRIORITY_OPTIONAL, set_source_clone(), set_source_groups(), set_source_root_groups(), set_source_root_users(), and set_source_users().
1.5.6