Disk ARchive  2.5.2
Full featured and portable backup and archiving tool
cat_lien.hpp
Go to the documentation of this file.
00001 /*********************************************************************/
00002 // dar - disk archive - a backup/restoration program
00003 // Copyright (C) 2002-2052 Denis Corbin
00004 //
00005 // This program is free software; you can redistribute it and/or
00006 // modify it under the terms of the GNU General Public License
00007 // as published by the Free Software Foundation; either version 2
00008 // of the License, or (at your option) any later version.
00009 //
00010 // This program is distributed in the hope that it will be useful,
00011 // but WITHOUT ANY WARRANTY; without even the implied warranty of
00012 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00013 // GNU General Public License for more details.
00014 //
00015 // You should have received a copy of the GNU General Public License
00016 // along with this program; if not, write to the Free Software
00017 // Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
00018 //
00019 // to contact the author : http://dar.linux.free.fr/email.html
00020 /*********************************************************************/
00021 
00025 
00026 #ifndef CAT_LIEN_HPP
00027 #define CAT_LIEN_HPP
00028 
00029 #include "../my_config.h"
00030 
00031 extern "C"
00032 {
00033 } // end extern "C"
00034 
00035 #include "cat_inode.hpp"
00036 
00037 namespace libdar
00038 {
00039 
00042 
00044     class cat_lien : public cat_inode
00045     {
00046     public :
00047         cat_lien(const infinint & uid, const infinint & gid, U_16 perm,
00048          const datetime & last_access,
00049          const datetime & last_modif,
00050          const datetime & last_change,
00051          const std::string & name,
00052          const std::string & target,
00053          const infinint & fs_device);
00054         cat_lien(user_interaction & dialog,
00055          const pile_descriptor & pdesc,
00056          const archive_version & reading_ver,
00057          saved_status saved,
00058          bool small);
00059 
00060     bool operator == (const cat_entree & ref) const;
00061 
00062         const std::string & get_target() const;
00063         void set_target(std::string x);
00064 
00065             // using the method is_more_recent_than() from cat_inode
00066             // using method has_changed_since() from cat_inode class
00067 
00069         unsigned char signature() const { return mk_signature('l', get_saved_status()); };
00070 
00072         cat_entree *clone() const { return new (get_pool()) cat_lien(*this); };
00073 
00074     protected :
00075         void sub_compare(const cat_inode & other, bool isolated_mode) const;
00076         void inherited_dump(const pile_descriptor & pdesc, bool small) const;
00077 
00078     private :
00079         std::string points_to;
00080     };
00081 
00083 
00084 } // end of namespace
00085 
00086 #endif
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Defines