Subversion Repositories spk

Rev

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

Rev Author Line No. Line
1 cycrow 1
#ifndef __DIRIO_H__
2
#define __DIRIO_H__
3
 
119 cycrow 4
#include "Utils/StringList.h"
196 cycrow 5
#include "Utils/WStringList.h"
1 cycrow 6
#include "spkdll.h"
7
 
8
class CFileIO;
9
 
10
class SPKEXPORT CDirIO
11
{
12
public:
196 cycrow 13
	static bool Exists(const Utils::WString &dir);
14
	static bool IsEmptyDir(const Utils::WStringList& dirList);
125 cycrow 15
 
16
public:
185 cycrow 17
	CDirIO();
196 cycrow 18
	CDirIO(const Utils::WString &dir);
185 cycrow 19
	CDirIO(CFileIO *file);
20
	~CDirIO();
1 cycrow 21
 
196 cycrow 22
	void setDir(const Utils::WString& dir);
1 cycrow 23
 
24
	// access functions
121 cycrow 25
	bool exists() const;
196 cycrow 26
	bool exists(const Utils::WString &dir) const;
121 cycrow 27
	bool isDir() const;
196 cycrow 28
	bool isDir(const Utils::WString &dir) const;
121 cycrow 29
	bool isFile() const;
196 cycrow 30
	bool isFile(const Utils::WString &dir) const;
1 cycrow 31
 
32
	// directory handling
129 cycrow 33
	bool create() const;
196 cycrow 34
	bool create(const Utils::WString &dir) const;
35
	bool createAndChange(const Utils::WString &dir);
1 cycrow 36
 
196 cycrow 37
	bool move(const Utils::WString &to);
38
	bool move(const Utils::WString& from, const Utils::WString& to);
197 cycrow 39
	bool removeDir(const Utils::WString &dir, bool doFiles = false, bool recursive = false, Utils::WStringList* errors = NULL);
196 cycrow 40
	bool cd(const Utils::WString &dir);
1 cycrow 41
 
196 cycrow 42
	bool dirList(Utils::WStringList& files, const Utils::WString &dir = Utils::WString::Null(), const Utils::WString &filePattern = Utils::WString::Null()) const;
197 cycrow 43
	bool checkEmptyDir(const Utils::WStringList& dirList) const;
1 cycrow 44
 
196 cycrow 45
	Utils::WString file(const Utils::WString &filename) const;
46
	Utils::WString dir(const Utils::WString &sDir) const;
47
	const Utils::WString &dir() const;
48
	Utils::WString topDir() const;
49
	const Utils::WString &moveBack();
50
	Utils::WString back() const;
1 cycrow 51
 
52
private:
196 cycrow 53
	Utils::WString _parseDir(const Utils::WString &dir) const;
1 cycrow 54
 
196 cycrow 55
	Utils::WString m_sCurrentDir;
1 cycrow 56
};
57
 
58
#endif //__DIRIO_H__