Subversion Repositories spk

Rev

Details | Last modification | View Log | RSS feed

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