Subversion Repositories spk

Rev

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