19 #ifndef SBUILD_CHROOT_FACET_BTRFS_SNAPSHOT_H
20 #define SBUILD_CHROOT_FACET_BTRFS_SNAPSHOT_H
22 #include <sbuild/chroot/chroot.h>
23 #include <sbuild/chroot/facet/facet.h>
24 #include <sbuild/chroot/facet/storage.h>
25 #include <sbuild/chroot/facet/session-setup.h>
26 #include <sbuild/chroot/facet/source-setup.h>
50 typedef std::shared_ptr<btrfs_snapshot>
ptr;
53 typedef std::shared_ptr<const btrfs_snapshot>
const_ptr;
72 virtual std::string
const&
167 const std::string& session_id,
168 const std::string& alias,
169 const std::string& user,
void set_snapshot_name(const std::string &snapshot_name)
Set the snapshot name.
Definition: btrfs-snapshot.cc:152
std::shared_ptr< const btrfs_snapshot > const_ptr
A shared_ptr to a const chroot facet object.
Definition: btrfs-snapshot.h:53
virtual void chroot_session_setup(const chroot &parent, const std::string &session_id, const std::string &alias, const std::string &user, bool root)
Set up a newly-cloned session chroot.
Definition: btrfs-snapshot.cc:269
void set_source_subvolume(const std::string &source_subvolume)
Set the source subvolume path.
Definition: btrfs-snapshot.cc:122
std::string const & get_snapshot_directory() const
Get the snapshot directory.
Definition: btrfs-snapshot.cc:131
Debian source builder components.
Definition: ctty.cc:31
virtual ~btrfs_snapshot()
The destructor.
Definition: btrfs-snapshot.cc:80
static ptr create()
Create a chroot facet.
Definition: btrfs-snapshot.cc:104
Chroot storage.
Definition: storage.h:39
std::string const & get_source_subvolume() const
Get the source subvolume path.
Definition: btrfs-snapshot.cc:116
virtual void set_keyfile(const keyfile &keyfile)
Set the chroot properties from a keyfile.
Definition: btrfs-snapshot.cc:243
std::string const & get_snapshot_name() const
Get the snapshot name.
Definition: btrfs-snapshot.cc:146
chroot::error error
Exception type.
Definition: btrfs-snapshot.h:47
virtual void get_keyfile(keyfile &keyfile) const
Copy the chroot properties into a keyfile.
Definition: btrfs-snapshot.cc:219
Container of environment variables.
Definition: environment.h:38
std::string snapshot_directory
Btrfs snapshot path.
Definition: btrfs-snapshot.h:179
void set_chroot(chroot &chroot, bool copy)
Set containing chroot.
Definition: btrfs-snapshot.cc:85
virtual void chroot_source_setup(const chroot &parent)
Set up a newly-cloned source chroot.
Definition: btrfs-snapshot.cc:285
std::string snapshot_name
Btrfs snapshot name.
Definition: btrfs-snapshot.h:181
Common chroot data.
Definition: chroot.h:50
std::shared_ptr< btrfs_snapshot > ptr
A shared_ptr to a chroot facet object.
Definition: btrfs-snapshot.h:50
Advisory locking.
Definition: lock.h:38
session_flags
Chroot session properties.
Definition: facet.h:54
virtual void get_details(format_detail &detail) const
Get detailed information about the chroot for output.
Definition: btrfs-snapshot.cc:200
Base class for all facets.
Definition: facet.h:50
std::vector< std::string > string_list
A string vector.
Definition: types.h:38
Common chroot data.
Definition: session-setup.h:41
Custom error.
Definition: custom-error.h:31
Common chroot data.
Definition: source-setup.h:41
btrfs_snapshot()
The constructor.
Definition: btrfs-snapshot.cc:60
virtual void setup_env(environment &env) const
Set environment.
Definition: btrfs-snapshot.cc:167
Configuration file parser.
Definition: keyfile.h:46
virtual session_flags get_session_flags() const
Get the session flags of the chroot.
Definition: btrfs-snapshot.cc:189
virtual void get_used_keys(string_list &used_keys) const
Get a list of the keys used during keyfile parsing.
Definition: btrfs-snapshot.cc:211
facet::ptr clone() const
Copy the chroot facet.
Definition: btrfs-snapshot.cc:110
std::shared_ptr< facet > ptr
A shared_ptr to a chroot facet object.
Definition: facet.h:63
A chroot stored on a Btrfs subvolume.
Definition: btrfs-snapshot.h:40
virtual std::string get_path() const
Get the path to the chroot.
Definition: btrfs-snapshot.cc:161
void set_snapshot_directory(const std::string &snapshot_directory)
Set the snapshot directory.
Definition: btrfs-snapshot.cc:137
setup_type
Type of setup to perform.
Definition: chroot.h:54
virtual std::string const & get_name() const
Get the name of the chroot facet.
Definition: btrfs-snapshot.cc:98
std::string source_subvolume
Btrfs source subvolume.
Definition: btrfs-snapshot.h:177