Disk ARchive 2.8.3
Full featured and portable backup and archiving tool
Loading...
Searching...
No Matches
config_file.hpp
Go to the documentation of this file.
1/*********************************************************************/
2// dar - disk archive - a backup/restoration program
3// Copyright (C) 2002-2026 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
27#ifndef CONFIG_FILE_HPP
28#define CONFIG_FILE_HPP
29
30#include "../my_config.h"
31#include <deque>
32#include "hide_file.hpp"
33
34using namespace libdar;
35
38
39class config_file : public hide_file
40{
41public:
42 config_file(const deque<string> & target, generic_file &f);
43 config_file(const config_file & ref) = default;
44 config_file & operator = (const config_file & ref) = default;
45 ~config_file() = default;
46
47 deque<string> get_read_targets() const;
48
49protected:
50 virtual void fill_morceau() override;
51
52private:
53 struct t_cible
54 {
55 string target;
56 bool seen;
57
58 t_cible(const string & val) { target = val; seen = false; };
59 t_cible() { target = ""; seen = false; };
60 };
61
62 deque<t_cible> cibles;
63
64 bool is_a_target(const string & val);
65 bool find_next_target(generic_file &f, infinint & debut, string & nature, infinint & fin);
66
67};
68
70
71#endif
contains class of base to split files in words
include macro defined by the configure script and some specific additional ones
libdar namespace encapsulate all libdar symbols