Loading...
Searching...
No Matches
libdar.hpp
Go to the documentation of this file.
/*********************************************************************/
// dar - disk archive - a backup/restoration program
// Copyright (C) 2002-2024 Denis Corbin
//
// This program is free software; you can redistribute it and/or
// modify it under the terms of the GNU General Public License
// as published by the Free Software Foundation; either version 2
// of the License, or (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software
// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
//
// to contact the author, see the AUTHOR file
/*********************************************************************/
// NOTE : The following comments are used by doxygen to generate the documentation of reference
#ifndef LIBDAR_HPP
#define LIBDAR_HPP
#include "../my_config.h"
// the mandatory libdar initialization routine
#include "get_version.hpp"
// archive class abstraction, this is a good starting point to create and read dar archives
#include "archive.hpp"
// dar_manager API
#include "database.hpp"
// dar_xform API
#include "libdar_xform.hpp"
// dar_slave API
#include "libdar_slave.hpp"
// common set of exception used within libdar
#include "erreurs.hpp"
// if you want to know which feature has been activated at compilation time
#include "compile_time_features.hpp"
// for remote reposity you will need to create such object and pass it where needed
#include "entrepot_libcurl.hpp"
// for local filesystem, you should not need to create such object to call libdar as it is the default repo used
#include "entrepot_local.hpp"
// the options class to give non default parameter to the archive class
#include "archive_options_listing_shell.hpp"
// if you want to bind user input/output to shell command line
#include "shell_interaction.hpp"
// if you want to bind user intput/output to your own provided callback functions
#include "user_interaction_callback.hpp"
// this is a trivial way to ignore user input/output
#include "user_interaction_blind.hpp"
// to redirect to a shell_interaction user I/O object any type of user interaction
#include "shell_interaction_emulator.hpp"
// to be able to properly cancel a running libdar thread
#include "thread_cancellation.hpp"
// for even more flexibility you can create your own class inherited from class user_interaction
// (see user_interaction.hpp include file)
#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