00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef SBUILD_CHROOT_CUSTOM_H
00020 #define SBUILD_CHROOT_CUSTOM_H
00021
00022 #include <sbuild/sbuild-chroot.h>
00023
00024 namespace sbuild
00025 {
00026
00037 class chroot_custom : public chroot
00038 {
00039 protected:
00041 chroot_custom ();
00042
00044 chroot_custom (const chroot_custom& rhs);
00045
00046 friend class chroot;
00047
00048 public:
00050 virtual ~chroot_custom ();
00051
00052 virtual chroot::ptr
00053 clone () const;
00054
00055 virtual chroot::ptr
00056 clone_session (std::string const& session_id,
00057 std::string const& alias,
00058 std::string const& user,
00059 bool root) const;
00060
00061 virtual chroot::ptr
00062 clone_source () const;
00063
00071 void
00072 set_session_cloneable (bool cloneable);
00073
00081 void
00082 set_session_purgeable (bool purgeable);
00083
00089 bool
00090 get_session_purgeable () const;
00091
00099 void
00100 set_source_cloneable (bool cloneable);
00101
00102 virtual void
00103 setup_env (chroot const& chroot,
00104 environment& env) const;
00105
00106 virtual std::string const&
00107 get_chroot_type () const;
00108
00109 std::string
00110 get_path () const;
00111
00112 virtual session_flags
00113 get_session_flags (chroot const& chroot) const;
00114
00115 protected:
00116 virtual void
00117 setup_lock (chroot::setup_type type,
00118 bool lock,
00119 int status);
00120
00121 virtual void
00122 get_details (chroot const& chroot,
00123 format_detail& detail) const;
00124
00125 virtual void
00126 get_keyfile (chroot const& chroot,
00127 keyfile& keyfile) const;
00128
00129 virtual void
00130 set_keyfile (chroot& chroot,
00131 keyfile const& keyfile,
00132 string_list& used_keys);
00133
00134 private:
00135 bool purgeable;
00136 };
00137
00138 }
00139
00140 #endif
00141
00142
00143
00144
00145
00146