Last change
on this file since 13165 was 11664, checked in by mdewsnip, 18 years ago |
Fixed the line endings... for real this time, I hope.
|
-
Property svn:keywords
set to
Author Date Id Revision
|
File size:
1.5 KB
|
Line | |
---|
1 | #ifndef _FILECOPIER_H_
|
---|
2 | #include "file.h"
|
---|
3 | #include "filePath.h"
|
---|
4 | #include "copyProgress.h"
|
---|
5 | #include "diskSpace.h"
|
---|
6 |
|
---|
7 | class fileCopyMonitor
|
---|
8 | {
|
---|
9 | public:
|
---|
10 | fileCopyMonitor() {};
|
---|
11 | virtual void copiedFile(string from, string to) = 0;
|
---|
12 | virtual void createdDir(string dirName) = 0;
|
---|
13 | virtual void copiedDir(string dirName) = 0;
|
---|
14 | };
|
---|
15 |
|
---|
16 | class fileCopySet
|
---|
17 | {
|
---|
18 | private:
|
---|
19 | FileVector fileList;
|
---|
20 | FilePath sourceDir;
|
---|
21 | string label;
|
---|
22 | unsigned long dataSize;
|
---|
23 | unsigned long dataFiles;
|
---|
24 | public:
|
---|
25 | FilePath destDir;
|
---|
26 | fileCopySet();
|
---|
27 | fileCopySet(string label, FileVector files, FilePath &from, FilePath &to);
|
---|
28 | char *destination(File *file);
|
---|
29 | unsigned long getOriginalSize();
|
---|
30 | unsigned long getOriginalFiles();
|
---|
31 | unsigned long getCopiedSize(DiskSpace &space);
|
---|
32 | bool ensureParent(FilePath &child, fileCopyMonitor *monitor);
|
---|
33 | bool copyFile(File *file, fileCopyMonitor *monitor, copyProgressBar *progressBar);
|
---|
34 | void copy(File *file, fileCopyMonitor *monitor, copyProgressBar *progressBar);
|
---|
35 | void copy(fileCopyMonitor *monitor, copyProgressBar *progressBar);
|
---|
36 | };
|
---|
37 |
|
---|
38 | typedef vector<fileCopySet> fileCopySetList;
|
---|
39 |
|
---|
40 | class fileCopier
|
---|
41 | {
|
---|
42 | private:
|
---|
43 | fileCopySetList list;
|
---|
44 | unsigned long dataSize;
|
---|
45 | unsigned long copied;
|
---|
46 | unsigned long dataFiles;
|
---|
47 | copyProgressBar progressBar;
|
---|
48 | fileCopyMonitor *monitor;
|
---|
49 | protected:
|
---|
50 | public:
|
---|
51 | fileCopier::fileCopier(fileCopyMonitor *monitor, fileCopySetList &list);
|
---|
52 | fileCopier::fileCopier(fileCopyMonitor *monitor);
|
---|
53 | void fileCopier::addSet(fileCopySet &set);
|
---|
54 | bool checkSpace();
|
---|
55 | void copy();
|
---|
56 | };
|
---|
57 | #define _FILECOPIER_H_
|
---|
58 | #endif
|
---|
Note:
See
TracBrowser
for help on using the repository browser.