Subversion Repositories spk

Rev

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