Disk ARchive  2.7.3
Full featured and portable backup and archiving tool
libdar.hpp
Go to the documentation of this file.
1 /*********************************************************************/
2 // dar - disk archive - a backup/restoration program
3 // Copyright (C) 2002-2022 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 
22  // NOTE : The following comments are used by doxygen to generate the documentation of reference
23 
33 
52 
58 
63 
67 
68 
69 #ifndef LIBDAR_HPP
70 #define LIBDAR_HPP
71 
72 #include "../my_config.h"
73 
74  // the mandatory libdar initialization routine
75 #include "get_version.hpp"
76 
77  // archive class abstraction, this is a good starting point to create and read dar archives
78 #include "archive.hpp"
79 
80  // dar_manager API
81 #include "database.hpp"
82 
83  // dar_xform API
84 #include "libdar_xform.hpp"
85 
86  // dar_slave API
87 #include "libdar_slave.hpp"
88 
89  // common set of exception used within libdar
90 #include "erreurs.hpp"
91 
92  // if you want to know which feature has been activated at compilation time
94 
95  // for remote reposity you will need to create such object and pass it where needed
96 #include "entrepot_libcurl.hpp"
97 
98  // the options class to give non default parameter to the archive class
100 
101  // if you want to bind user input/output to shell command line
102 #include "shell_interaction.hpp"
103 
104  // if you want to bind user intput/output to your own provided callback functions
106 
107  // this is a trivial way to ignore user input/output
109 
110  // to redirect to a shell_interaction user I/O object any type of user interaction
112 
113  // for even more flexibility you can create your own class inherited from class user_interaction
114  // (see user_interaction.hpp include file)
115 
116 
117 #endif
the archive class is defined in this module
this file contains shell_interaction options class for listing
nested namespace containing routines that give features activated at compile time
this file holds the database class definition
defines the implementation for remote filesystem entrepot using libcurl
contains all the excetion class thrown by libdar
routine to initialize libdar and manage its running threads
API for dar_slave functionnality.
API for dar_xform functionnality.
user_interaction class used by default
wrapper class that given a user_interaction send it the shell_interaction formatted output
defines the interaction between libdar and a non communcant "blind" user
defines the interaction between libdar and the user based on callback functions