00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef SBUILD_CHROOT_FACET_SESSION_CLONABLE_H
00020 #define SBUILD_CHROOT_FACET_SESSION_CLONABLE_H
00021
00022 #include <sbuild/sbuild-chroot-facet.h>
00023
00024 namespace sbuild
00025 {
00026
00034 class chroot_facet_session_clonable : public chroot_facet
00035 {
00036 public:
00038 typedef std::shared_ptr<chroot_facet_session_clonable> ptr;
00039
00041 typedef std::shared_ptr<const chroot_facet_session_clonable> const_ptr;
00042
00043 private:
00045 chroot_facet_session_clonable ();
00046
00047 public:
00049 virtual ~chroot_facet_session_clonable ();
00050
00056 static ptr
00057 create ();
00058
00059 virtual chroot_facet::ptr
00060 clone () const;
00061
00062 virtual std::string const&
00063 get_name () const;
00064
00074 virtual void
00075 clone_session_setup (chroot const& parent,
00076 chroot::ptr& clone,
00077 std::string const& session_id,
00078 std::string const& alias,
00079 std::string const& user,
00080 bool root) const;
00081
00082 virtual void
00083 setup_env (chroot const& chroot,
00084 environment& env) const;
00085
00086 virtual chroot::session_flags
00087 get_session_flags (chroot const& chroot) const;
00088
00089 virtual void
00090 get_details (chroot const& chroot,
00091 format_detail& detail) const;
00092
00093 virtual void
00094 get_keyfile (chroot const& chroot,
00095 keyfile& keyfile) const;
00096
00097 virtual void
00098 set_keyfile (chroot& chroot,
00099 keyfile const& keyfile,
00100 string_list& used_keys);
00101 };
00102
00103 }
00104
00105 #endif
00106
00107
00108
00109
00110
00111