00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef SBUILD_CHROOT_BLOCK_DEVICE_H
00021 #define SBUILD_CHROOT_BLOCK_DEVICE_H
00022
00023 #include "sbuild-chroot.h"
00024
00025 namespace sbuild
00026 {
00027
00032 class ChrootBlockDevice : public Chroot
00033 {
00034 public:
00036 ChrootBlockDevice();
00037
00044 ChrootBlockDevice (const keyfile& keyfile,
00045 const std::string& group);
00046
00048 virtual ~ChrootBlockDevice();
00049
00050 virtual Chroot *
00051 clone () const;
00052
00058 const std::string&
00059 get_device () const;
00060
00069 void
00070 set_device (const std::string& device);
00071
00072 virtual const std::string&
00073 get_mount_device () const;
00074
00080 const std::string&
00081 get_mount_options () const;
00082
00088 void
00089 set_mount_options (const std::string& mount_options);
00090
00091 virtual const std::string&
00092 get_chroot_type () const;
00093
00094 virtual void
00095 setup_env (env_list& env);
00096
00097 virtual void
00098 setup_lock (SetupType type,
00099 bool lock);
00100
00101 virtual SessionFlags
00102 get_session_flags () const;
00103
00104 virtual void
00105 print_details (std::ostream& stream) const;
00106
00107 virtual void
00108 print_config (std::ostream& stream) const;
00109
00110 private:
00117 void
00118 read_keyfile (const keyfile& keyfile,
00119 const std::string& group);
00120
00122 std::string device;
00124 std::string mount_options;
00125 };
00126
00127 }
00128
00129 #endif
00130
00131
00132
00133
00134
00135