Subversion Repositories spk

Rev

Rev 93 | Rev 127 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
93 cycrow 1
#pragma once
2
 
3
#include "lists.h"
4
#include "Utils/String.h"
5
#include "StringList.h"
6
 
7
class C_File;
8
class CBaseFile;
9
class CProgressInfo;
10
 
11
namespace SPK {
12
 
13
class COriginalFiles
14
{
15
private:
16
	CLinkList<C_File>		_lFiles;
17
 
18
	Utils::String			_sDir;
19
 
20
public:
21
	COriginalFiles(const Utils::String &dir);
22
	~COriginalFiles(void);
23
 
24
	int count() const;
25
	bool isOriginal(C_File *f) const;
26
 
105 cycrow 27
	void installed(CBaseFile *package);
93 cycrow 28
	void backup(CBaseFile *package, CyStringList *errors);
29
	bool backupFile(C_File *f, CyStringList *errors);
30
	bool doBackup(C_File *f, CyStringList *errors);
31
	int  restoreAll(CProgressInfo *info, int files, int max);
32
	bool restoreFile(C_File *f, CyStringList *errors);
33
 
34
	void parse(const Utils::String &data);
35
	void update(bool bForce, const CLinkList<C_File> *pFiles);
36
	bool writeData(CyStringList *lines);
37
 
38
	void reset();
39
 
40
private:
105 cycrow 41
	void _storeOverride(C_File *f);
93 cycrow 42
	void _storeFiles(int filetype, const Utils::String &searchPath, const CLinkList<C_File> *pFiles);
43
	void _add(int filetype, const Utils::String &filename, const Utils::String &searchPath, const CLinkList<C_File> *pFiles);
44
	C_File *_getFile(C_File *file) const;
45
};
46
 
47
}