inital commit
[c11concurrency-benchmarks.git] / mabain / src / mb_backup.h
1 /**
2  * Copyright (C) 2018 Cisco Inc.
3  *
4  * This program is free software: you can redistribute it and/or  modify
5  * it under the terms of the GNU General Public License, version 2,
6  * as published by the Free Software Foundation.
7  *
8  * This program is distributed in the hope that it will be useful,
9  * but WITHOUT ANY WARRANTY; without even the implied warranty of
10  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
11  * GNU General Public License for more details.
12  *
13  * You should have received a copy of the GNU General Public License
14  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
15  */
16
17 // @author Shridhar Bhalerao <shbhaler@cisco.com>
18
19 #ifndef __DBBackup_H__
20 #define __DBBackup_H__
21
22 #include <string>
23
24 #include "db.h"
25 #include "dict.h"
26
27 namespace mabain {
28
29 class DBBackup
30 {
31 public:
32         DBBackup(const DB &db);
33         ~DBBackup();
34         int Backup(const char* bkup_dir);
35
36 private:
37     static void copy_file (const std::string &src_path,
38         const std::string &dest_path, char *buffer, int buffer_size);
39     
40     const DB &db_ref;
41     const IndexHeader *header;
42 };
43
44 }
45 #endif