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

- Main Page
- Modules
- Namespaces
- Classes
- Files

- File List
- File Members

mem_ui.hpp
Go to the documentation of this file.
1 /*********************************************************************/
2 // dar - disk archive - a backup/restoration program
3 // Copyright (C) 2002-2052 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
18 //
19 // to contact the author : http://dar.linux.free.fr/email.html
20 /*********************************************************************/
21
25
26 #ifndef MEM_UI_HPP
27 #define MEM_UI_HPP
28
29 #include "../my_config.h"
30
31 #include "user_interaction.hpp"
32
33 namespace libdar
34 {
35
38
40
52
53 class mem_ui
54 {
55 public:
56
58
62 mem_ui(const user_interaction & dialog) { set_ui(dialog); };
63
67 mem_ui(user_interaction *dialog) { ui = dialog; cloned = false; };
68
70
72 mem_ui(const mem_ui & ref) { copy_from(ref); };
73
75
78 virtual ~mem_ui() throw(Ebug) { detruire(); };
79
80
82
85 const mem_ui & operator = (const mem_ui & ref) { detruire(); copy_from(ref); return *this; };
86
87 protected:
89
92 user_interaction & get_ui() const;
93
94 private:
95 user_interaction *ui;
96 bool cloned;
97
98 void detruire();
99 void copy_from(const mem_ui & ref);
100 void set_ui(const user_interaction & dialog);
101 };
102
104
105 } // end of namespace
106
107
108 #endif
libdar::mem_ui::mem_ui
mem_ui(user_interaction *dialog)
Definition: mem_ui.hpp:67
libdar::user_interaction
This is a pure virtual class that is used by libdar when interaction with the user is required...
Definition: user_interaction.hpp:98
libdar::mem_ui::~mem_ui
virtual ~mem_ui()
destructor
Definition: mem_ui.hpp:78
user_interaction.hpp
defines the interaction between libdar and the user.Three classes are defined
libdar::mem_ui::mem_ui
mem_ui(const user_interaction &dialog)
constructor
Definition: mem_ui.hpp:62
libdar::Ebug
exception used to signal a bug. A bug is triggered when reaching some code that should never be reach...
Definition: erreurs.hpp:137
libdar::mem_ui
class mem_ui to keep a copy of a user_interaction object
Definition: mem_ui.hpp:53
libdar::mem_ui::get_ui
user_interaction & get_ui() const
get access to the user_interaction cloned object
libdar
libdar namespace encapsulate all libdar symbols
Definition: archive.hpp:47
libdar::mem_ui::mem_ui
mem_ui(const mem_ui &ref)
the copy constructor
Definition: mem_ui.hpp:72
libdar::mem_ui::operator=
const mem_ui & operator=(const mem_ui &ref)
assignement operator
Definition: mem_ui.hpp:85