00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef SBUILD_CHROOT_FILE_H
00020 #define SBUILD_CHROOT_FILE_H
00021
00022 #include <sbuild/sbuild-chroot.h>
00023
00024 namespace sbuild
00025 {
00026
00032 class chroot_file : public chroot
00033 {
00034 protected:
00036 chroot_file ();
00037
00039 chroot_file (const chroot_file& rhs);
00040
00041 friend class chroot;
00042
00043 public:
00045 virtual ~chroot_file ();
00046
00047 virtual chroot::ptr
00048 clone () const;
00049
00050 virtual chroot::ptr
00051 clone_session (std::string const& session_id,
00052 std::string const& alias,
00053 std::string const& user,
00054 bool root) const;
00055
00056 virtual chroot::ptr
00057 clone_source () const;
00058
00064 std::string const&
00065 get_file () const;
00066
00072 void
00073 set_file (std::string const& file);
00074
00081 virtual std::string const&
00082 get_location () const;
00083
00090 virtual void
00091 set_location (std::string const& location);
00092
00099 bool
00100 get_file_repack () const;
00101
00109 void
00110 set_file_repack (bool repack);
00111
00112 virtual std::string const&
00113 get_chroot_type () const;
00114
00115 virtual void
00116 setup_env (chroot const& chroot,
00117 environment& env) const;
00118
00119 std::string
00120 get_path () const;
00121
00122 virtual session_flags
00123 get_session_flags (chroot const& chroot) const;
00124
00125 protected:
00126 virtual void
00127 setup_lock (chroot::setup_type type,
00128 bool lock,
00129 int status);
00130
00131 virtual void
00132 get_details (chroot const& chroot,
00133 format_detail& detail) const;
00134
00135 virtual void
00136 get_keyfile (chroot const& chroot,
00137 keyfile& keyfile) const;
00138
00139 virtual void
00140 set_keyfile (chroot& chroot,
00141 keyfile const& keyfile,
00142 string_list& used_keys);
00143
00144 private:
00146 std::string file;
00148 std::string location;
00150 bool repack;
00151 };
00152
00153 }
00154
00155 #endif
00156
00157
00158
00159
00160
00161