sbuild-chroot-directory.h
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef SBUILD_CHROOT_DIRECTORY_H
00020 #define SBUILD_CHROOT_DIRECTORY_H
00021
00022 #include <sbuild/sbuild-config.h>
00023 #include <sbuild/sbuild-chroot-directory-base.h>
00024 #include <sbuild/sbuild-chroot-btrfs-snapshot.h>
00025
00026 namespace sbuild
00027 {
00028
00035 class chroot_directory : public chroot_directory_base
00036 {
00037 protected:
00039 chroot_directory ();
00040
00042 chroot_directory (const chroot_directory& rhs);
00043
00044 #ifdef SBUILD_FEATURE_BTRFSSNAP
00046 chroot_directory (const chroot_btrfs_snapshot& rhs);
00047 #endif
00048
00049 friend class chroot;
00050 #ifdef SBUILD_FEATURE_BTRFSSNAP
00051 friend class chroot_btrfs_snapshot;
00052 #endif
00053
00054 public:
00056 virtual ~chroot_directory ();
00057
00058 virtual chroot::ptr
00059 clone () const;
00060
00061 virtual chroot::ptr
00062 clone_session (std::string const& session_id,
00063 std::string const& user,
00064 bool root) const;
00065
00066 virtual chroot::ptr
00067 clone_source () const;
00068
00069 virtual std::string
00070 get_path () const;
00071
00072 virtual void
00073 setup_env (chroot const& chroot,
00074 environment& env) const;
00075
00076 virtual std::string const&
00077 get_chroot_type () const;
00078
00079 virtual session_flags
00080 get_session_flags (chroot const& chroot) const;
00081
00082 protected:
00083 virtual void
00084 setup_lock (chroot::setup_type type,
00085 bool lock,
00086 int status);
00087
00088 virtual void
00089 get_details (chroot const& chroot,
00090 format_detail& detail) const;
00091
00092 virtual void
00093 get_keyfile (chroot const& chroot,
00094 keyfile& keyfile) const;
00095
00096 virtual void
00097 set_keyfile (chroot& chroot,
00098 keyfile const& keyfile,
00099 string_list& used_keys);
00100 };
00101
00102 }
00103
00104 #endif
00105
00106
00107
00108
00109
00110