doc: added link to Nicolas Vivien's development blog
[barry.git] / src / backup.h
blobc7e7ec8777d6f29996c11c4094063ea8431ef1ef
1 ///
2 /// \file backup.h
3 /// Special parser class to support creation of Barry Backup files
4 ///
6 /*
7 Copyright (C) 2010, Net Direct Inc. (http://www.netdirect.ca/)
9 This program is free software; you can redistribute it and/or modify
10 it under the terms of the GNU General Public License as published by
11 the Free Software Foundation; either version 2 of the License, or
12 (at your option) any later version.
14 This program is distributed in the hope that it will be useful,
15 but WITHOUT ANY WARRANTY; without even the implied warranty of
16 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
18 See the GNU General Public License in the COPYING file at the
19 root directory of this project for more details.
22 #ifndef __BARRYBACKUP_BACKUP_H__
23 #define __BARRYBACKUP_BACKUP_H__
25 #include "dll.h"
26 #include "parser.h"
27 #include <string>
28 #include <memory>
30 // forward declarations
31 namespace reuse {
32 class TarFile;
35 namespace Barry {
37 class BXEXPORT Backup : public Barry::Parser
39 private:
40 std::auto_ptr<reuse::TarFile> m_tar;
42 std::string m_current_dbname;
43 std::string m_tar_id_text;
44 std::string m_record_data;
46 public:
47 explicit Backup(const std::string &tarpath);
48 ~Backup();
50 void Close();
52 // Barry::Parser overrides
53 virtual void ParseRecord(const Barry::DBData &data,
54 const Barry::IConverter *ic);
57 } // namespace Barry
59 #endif