Disk ARchive 2.7.15
Full featured and portable backup and archiving tool
Loading...
Searching...
No Matches
cat_door.hpp
Go to the documentation of this file.
1/*********************************************************************/
2// dar - disk archive - a backup/restoration program
3// Copyright (C) 2002-2024 Denis Corbin
4//
5// This program is free software; you can redistribute it and/or
6// modify it under the terms of the GNU General Public License
7// as published by the Free Software Foundation; either version 2
8// of the License, or (at your option) any later version.
9//
10// This program is distributed in the hope that it will be useful,
11// but WITHOUT ANY WARRANTY; without even the implied warranty of
12// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13// GNU General Public License for more details.
14//
15// You should have received a copy of the GNU General Public License
16// along with this program; if not, write to the Free Software
17// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
18//
19// to contact the author, see the AUTHOR file
20/*********************************************************************/
21
25
26#ifndef CAT_DOOR_HPP
27#define CAT_DOOR_HPP
28
29#include "../my_config.h"
30
31extern "C"
32{
33} // end extern "C"
34
35#include "cat_file.hpp"
36
37namespace libdar
38{
39
42
43
45 class cat_door : public cat_file
46 {
47 public:
48 cat_door(const infinint & xuid,
49 const infinint & xgid,
50 U_16 xperm,
51 const datetime & last_access,
52 const datetime & last_modif,
53 const datetime & last_change,
54 const std::string & src,
55 const path & che,
56 const infinint & fs_device) : cat_file(xuid, xgid, xperm, last_access, last_modif,
57 last_change, src, che, 0, fs_device, false) {};
58 cat_door(const std::shared_ptr<user_interaction> & dialog,
60 const archive_version & reading_ver,
62 compression default_algo,
63 bool small) : cat_file(dialog, pdesc, reading_ver, saved, default_algo, small) {};
64
65 cat_door(const cat_door & ref) = default;
66 cat_door(cat_door && ref) = delete;
67 cat_door & operator = (const cat_door & ref) = delete;
68 cat_door & operator = (cat_door && ref) = delete;
69 ~cat_door() = default;
70
71 virtual bool operator == (const cat_entree & ref) const override;
72
73 virtual unsigned char signature() const override { return 'o'; };
74 virtual std::string get_description() const override { return "door"; };
75
76
77 // inherited from class cat_file
79 std::shared_ptr<memory_file> delta_sig,
80 U_I signature_block_size,
81 std::shared_ptr<memory_file> delta_ref,
82 const crc**checksum) const override;
83
84 };
85
87
88} // end of namespace
89
90#endif
91
class used to record plain files in a catalogue
class archive_version manages the version of the archive format
the class for Door IPC (mainly for Solaris)
Definition cat_door.hpp:46
virtual generic_file * get_data(get_data_mode mode, std::shared_ptr< memory_file > delta_sig, U_I signature_block_size, std::shared_ptr< memory_file > delta_ref, const crc **checksum) const override
returns a newly allocated object in read_only mode
virtual std::string get_description() const override
inherited class designation
Definition cat_door.hpp:74
virtual bool operator==(const cat_entree &ref) const override
not used
virtual unsigned char signature() const override
inherited class signature
Definition cat_door.hpp:73
the root class from all other inherite for any entry in the catalogue
the plain file class
Definition cat_file.hpp:49
get_data_mode
how to get data from archive
Definition cat_file.hpp:54
cat_delta_signature * delta_sig
delta signature and associated CRC
Definition cat_file.hpp:262
pure virtual class defining interface of a CRC object
Definition crc.hpp:47
stores time information
Definition datetime.hpp:59
this is the interface class from which all other data transfer classes inherit
the arbitrary large positive integer class
the class path is here to manipulate paths in the Unix notation: using'/'
Definition path.hpp:51
smart pointer class to be used to automagically manage multiple time pointed to address
compression
the different compression algorithm available
saved_status
data saved status for an entry
@ saved
inode is saved in the archive
libdar namespace encapsulate all libdar symbols
Definition archive.hpp:47