Disk ARchive 2.8.0
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-2025 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
32
51
57
61
62
63#ifndef LIBDAR_HPP
64#define LIBDAR_HPP
65
66#include "../my_config.h"
67
68 // the mandatory libdar initialization routine
69#include "get_version.hpp"
70
71 // archive class abstraction, this is a good starting point to create and read dar archives
72#include "archive.hpp"
73
74 // dar_manager API
75#include "database.hpp"
76
77 // dar_xform API
78#include "libdar_xform.hpp"
79
80 // dar_slave API
81#include "libdar_slave.hpp"
82
83 // common set of exception used within libdar
84#include "erreurs.hpp"
85
86 // if you want to know which feature has been activated at compilation time
88
89 // for local filesystem, you should not need to create such object to call libdar as it is the default repo used
90#include "entrepot_local.hpp"
91
92 // to use remote filesystems in place of the default entrepot_local used
94
95 // the options class to give non default parameter to the archive class
97
98 // if you want to bind user input/output to shell command line
99#include "shell_interaction.hpp"
100
101 // if you want to bind user intput/output to your own provided callback functions
103
104 // this is a trivial way to ignore user input/output
106
107 // to redirect to a shell_interaction user I/O object any type of user interaction
109
110 // for even more flexibility you can create your own class inherited from class user_interaction
111 // (see user_interaction.hpp include file)
112
113
114#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 local filesystem entrepot The entrepot_local correspond to the local f...
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.
Libdar API to create entrepot objects.
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