sbuild-chroot-lvm-snapshot.h

Go to the documentation of this file.
00001 /* Copyright © 2005-2006  Roger Leigh <rleigh@debian.org>
00002  *
00003  * schroot is free software; you can redistribute it and/or modify it
00004  * under the terms of the GNU General Public License as published by
00005  * the Free Software Foundation; either version 2 of the License, or
00006  * (at your option) any later version.
00007  *
00008  * schroot is distributed in the hope that it will be useful, but
00009  * WITHOUT ANY WARRANTY; without even the implied warranty of
00010  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00011  * General Public License for more details.
00012  *
00013  * You should have received a copy of the GNU General Public License
00014  * along with this program; if not, write to the Free Software
00015  * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
00016  * MA  02111-1307  USA
00017  *
00018  *********************************************************************/
00019 
00020 #ifndef SBUILD_CHROOT_LVM_SNAPSHOT_H
00021 #define SBUILD_CHROOT_LVM_SNAPSHOT_H
00022 
00023 #include "sbuild-chroot-block-device.h"
00024 
00025 namespace sbuild
00026 {
00027 
00032   class ChrootLvmSnapshot : public ChrootBlockDevice
00033   {
00034   protected:
00036     ChrootLvmSnapshot();
00037 
00044     ChrootLvmSnapshot (keyfile const&     keyfile,
00045                        std::string const& group);
00046 
00047     friend class Chroot;
00048 
00049   public:
00051     virtual ~ChrootLvmSnapshot();
00052 
00053     virtual Chroot::chroot_ptr
00054     clone () const;
00055 
00062     std::string const&
00063     get_snapshot_device () const;
00064 
00071     void
00072     set_snapshot_device (std::string const& snapshot_device);
00073 
00074     virtual std::string const&
00075     get_mount_device () const;
00076 
00083     std::string const&
00084     get_snapshot_options () const;
00085 
00092     void
00093     set_snapshot_options (std::string const& snapshot_options);
00094 
00095     virtual std::string const&
00096     get_chroot_type () const;
00097 
00098     virtual void
00099     setup_env (environment& env);
00100 
00101     virtual void
00102     setup_lock (SetupType type,
00103                 bool      lock);
00104 
00105     virtual SessionFlags
00106     get_session_flags () const;
00107 
00108     virtual void
00109     print_details (std::ostream& stream) const;
00110 
00111     virtual void
00112     print_config (std::ostream& stream) const;
00113 
00114   private:
00116     std::string snapshot_device;
00118     std::string snapshot_options;
00119   };
00120 
00121 }
00122 
00123 #endif /* SBUILD_CHROOT_LVM_SNAPSHOT_H */
00124 
00125 /*
00126  * Local Variables:
00127  * mode:C++
00128  * End:
00129  */

Generated on Wed Feb 1 11:42:51 2006 for schroot by  doxygen 1.4.6