Subversion Repositories spk

Rev

Rev 183 | 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"
197 cycrow 4
#include "Utils/WStringList.h"
127 cycrow 5
#include "enums.h"
93 cycrow 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
 
197 cycrow 18
	Utils::WString			_sDir;
93 cycrow 19
 
20
public:
197 cycrow 21
	COriginalFiles(const Utils::WString &dir);
93 cycrow 22
	~COriginalFiles(void);
23
 
24
	int count() const;
25
	bool isOriginal(C_File *f) const;
26
 
105 cycrow 27
	void installed(CBaseFile *package);
197 cycrow 28
	void backup(CBaseFile *package, Utils::WStringList *errors);
29
	bool backupFile(C_File *f, Utils::WStringList *errors);
30
	bool doBackup(C_File *f, Utils::WStringList *errors);
93 cycrow 31
	int  restoreAll(CProgressInfo *info, int files, int max);
197 cycrow 32
	bool restoreFile(C_File *f, Utils::WStringList *errors);
93 cycrow 33
 
197 cycrow 34
	void parse(const Utils::WString &data);
93 cycrow 35
	void update(bool bForce, const CLinkList<C_File> *pFiles);
197 cycrow 36
	bool writeData(Utils::WStringList &lines);
93 cycrow 37
 
38
	void reset();
39
 
40
private:
105 cycrow 41
	void _storeOverride(C_File *f);
197 cycrow 42
	void _storeFiles(FileType filetype, const Utils::WString &searchPath, const CLinkList<C_File> *pFiles);
43
	void _add(FileType filetype, const Utils::WString &filename, const Utils::WString &searchPath, const CLinkList<C_File> *pFiles);
93 cycrow 44
	C_File *_getFile(C_File *file) const;
45
};
46
 
47
}