| Disk ARchive 2.7.18 Full featured and portable backup and archiving tool

Loading...
Searching...
No Matches
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
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
93#include "compile_time_features.hpp"
94
95 // for remote reposity you will need to create such object and pass it where needed
96#include "entrepot_libcurl.hpp"
97
98 // for local filesystem, you should not need to create such object to call libdar as it is the default repo used
99#include "entrepot_local.hpp"
100
101 // the options class to give non default parameter to the archive class
102#include "archive_options_listing_shell.hpp"
103
104 // if you want to bind user input/output to shell command line
105#include "shell_interaction.hpp"
106
107 // if you want to bind user intput/output to your own provided callback functions
108#include "user_interaction_callback.hpp"
109
110 // this is a trivial way to ignore user input/output
111#include "user_interaction_blind.hpp"
112
113 // to redirect to a shell_interaction user I/O object any type of user interaction
114#include "shell_interaction_emulator.hpp"
115
116 // to be able to properly cancel a running libdar thread
117#include "thread_cancellation.hpp"
118
119 // for even more flexibility you can create your own class inherited from class user_interaction
120 // (see user_interaction.hpp include file)
121
122
123#endif
archive.hpp
the archive class is defined in this module
archive_options_listing_shell.hpp
this file contains shell_interaction options class for listing
compile_time_features.hpp
nested namespace containing routines that give features activated at compile time
database.hpp
this file holds the database class definition
entrepot_libcurl.hpp
defines the implementation for remote filesystem entrepot using libcurl
entrepot_local.hpp
defines the implementation for local filesystem entrepot The entrepot_local correspond to the local f...
erreurs.hpp
contains all the excetion class thrown by libdar
get_version.hpp
routine to initialize libdar and manage its running threads
libdar_slave.hpp
API for dar_slave functionnality.
libdar_xform.hpp
API for dar_xform functionnality.
my_config.h
include macro defined by the configure script and some specific additional ones
shell_interaction.hpp
user_interaction class used by default
shell_interaction_emulator.hpp
wrapper class that given a user_interaction send it the shell_interaction formatted output
thread_cancellation.hpp
to be able to cancel libdar operation while running in a given thread.
user_interaction_blind.hpp
defines the interaction between libdar and a non communcant "blind" user
user_interaction_callback.hpp
defines the interaction between libdar and the user based on callback functions