Subversion Repositories spk

Rev

Rev 185 | Rev 197 | 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::CStringList& dirList);
15
	static bool IsEmptyDir(const Utils::WStringList& dirList);
125 cycrow 16
 
17
public:
185 cycrow 18
	CDirIO();
196 cycrow 19
	CDirIO(const Utils::WString &dir);
185 cycrow 20
	CDirIO(CFileIO *file);
21
	~CDirIO();
1 cycrow 22
 
196 cycrow 23
	void setDir(const Utils::WString& dir);
1 cycrow 24
 
25
	// access functions
121 cycrow 26
	bool exists() const;
196 cycrow 27
	bool exists(const Utils::WString &dir) const;
121 cycrow 28
	bool isDir() const;
196 cycrow 29
	bool isDir(const Utils::WString &dir) const;
121 cycrow 30
	bool isFile() const;
196 cycrow 31
	bool isFile(const Utils::WString &dir) const;
1 cycrow 32
 
33
	// directory handling
129 cycrow 34
	bool create() const;
196 cycrow 35
	bool create(const Utils::WString &dir) const;
36
	bool createAndChange(const Utils::WString &dir);
1 cycrow 37
 
196 cycrow 38
	bool move(const Utils::WString &to);
39
	bool move(const Utils::WString& from, const Utils::WString& to);
40
	bool removeDir(const Utils::WString &dir, bool doFiles = false, bool recursive = false, Utils::CStringList* errors = NULL);
41
	bool cd(const Utils::WString &dir);
1 cycrow 42
 
196 cycrow 43
	bool dirList(Utils::CStringList& files, Utils::WString dir = Utils::WString::Null(), Utils::WString filePattern = Utils::WString::Null()) const;
44
	bool dirList(Utils::WStringList& files, const Utils::WString &dir = Utils::WString::Null(), const Utils::WString &filePattern = Utils::WString::Null()) const;
160 cycrow 45
	bool checkEmptyDir(const Utils::CStringList &dirList) const;
1 cycrow 46
 
196 cycrow 47
	Utils::WString file(const Utils::WString &filename) const;
48
	Utils::WString dir(const Utils::WString &sDir) const;
49
	const Utils::WString &dir() const;
50
	Utils::WString topDir() const;
51
	const Utils::WString &moveBack();
52
	Utils::WString back() const;
1 cycrow 53
 
54
private:
196 cycrow 55
	Utils::WString _parseDir(const Utils::WString &dir) const;
1 cycrow 56
 
196 cycrow 57
	Utils::WString m_sCurrentDir;
1 cycrow 58
};
59
 
60
#endif //__DIRIO_H__