Subversion Repositories spk

Rev

Rev 51 | Rev 53 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 51 Rev 52
Line 25... Line 25...
25
enum {FILEERR_NONE, FILEERR_NOFILE, FILEERR_NOOPEN, FILEERR_TOSMALL, FILEERR_NOWRITE};
25
enum {FILEERR_NONE, FILEERR_NOFILE, FILEERR_NOOPEN, FILEERR_TOSMALL, FILEERR_NOWRITE};
26
 
26
 
27
class SPKEXPORT CFileIO
27
class SPKEXPORT CFileIO
28
{
28
{
29
public:
29
public:
-
 
30
	static bool Remove(const Utils::String &filename);
-
 
31
	static bool Exists(const Utils::String &filename);
-
 
32
 
-
 
33
public:
30
	CFileIO ();
34
	CFileIO();
-
 
35
	//CFileIO(const Utils::String &sFilename, bool bBinary = true);
31
	CFileIO ( CyString filename );
36
	CFileIO(CyString filename);
32
	CFileIO ( C_File *file );
37
	CFileIO(C_File *file);
33
	~CFileIO ();
38
	~CFileIO ();
34
 
39
 
-
 
40
	bool startWrite();
-
 
41
	bool startRead();
-
 
42
	bool startModify();
-
 
43
	bool startAppend();
35
	bool StartRead();
44
	bool StartRead();
36
	void StopRead();
45
	void StopRead();
37
	CyString ReadToEndLine(bool = true);
-
 
38
	bool AtEnd();
46
	bool AtEnd();
-
 
47
	bool atEnd();
-
 
48
 
-
 
49
	size_t fileSize() const;
39
 
50
 
-
 
51
	time_t modifiedTime();
40
	time_t GetCreationTime();
52
	time_t GetCreationTime();
41
	void SetCreationTime(time_t time);
53
	void SetCreationTime(time_t time);
-
 
54
 
-
 
55
	bool writeSize(unsigned int iSize);
-
 
56
	bool write(CFileIO &file, size_t iSize);
-
 
57
	bool write(const unsigned char *buf, ...);
-
 
58
	bool write(const char *buf, ...);
-
 
59
	bool write(const char *buf, unsigned int iSize);
-
 
60
	bool write(const unsigned char *buf, unsigned int iSize);
-
 
61
	bool put(const unsigned char c);
-
 
62
 
-
 
63
	void close();
-
 
64
 
-
 
65
	Utils::String readEndOfLine();
-
 
66
 
-
 
67
	void seek(unsigned int iPos);
-
 
68
	void seekEnd();
-
 
69
	void seekStart(unsigned int iPos = 0);
-
 
70
 
-
 
71
	bool read(unsigned char *buf, size_t iSize, bool bEndChar = false);
-
 
72
	unsigned char *read(size_t iAmount);
-
 
73
	unsigned char *readAll(size_t *pSize = NULL);
-
 
74
 
-
 
75
	std::fstream &stream();
42
 
76
 
43
	std::vector<CyString> *ReadLines();
77
	std::vector<CyString> *ReadLines();
44
	CyStringList *ReadLinesStr();
78
	CyStringList *ReadLinesStr();
45
	bool WriteFile(std::vector<CyString> *lines);
79
	bool WriteFile(std::vector<CyString> *lines);
46
	bool WriteFileUTF(std::vector<CyString> *lines);
80
	bool WriteFileUTF(std::vector<CyString> *lines);
47
	bool WriteFile(CyStringList *lines);
81
	bool WriteFile(CyStringList *lines);
48
 
82
 
49
	bool Remove();
83
	bool remove();
50
	bool Rename(CyString toFile);
84
	bool Rename(CyString toFile);
51
	bool Copy(CyString toFile, bool keepTime = false);
85
	bool copy(const Utils::String &toFile, bool keepTime = false);
52
 
86
 
53
	bool IsOpened();
87
	bool isOpened() const;
54
	bool Open ( CyString filename, bool = true );
88
	bool Open ( CyString filename, bool = true );
55
 
89
 
56
	CyString GetBaseName();
90
	CyString GetBaseName();
57
	CyString GetFullFilename () { return m_sFilename; }
91
	CyString GetFullFilename () { return m_sFilename; }
58
	CyString GetFilename () { return m_sFile; }
92
	CyString GetFilename () { return m_sFile; }
Line 63... Line 97...
63
	size_t GetFilesize () { return m_lSize; }
97
	size_t GetFilesize () { return m_lSize; }
64
 
98
 
65
	char *ReadToData ( size_t *size );
99
	char *ReadToData ( size_t *size );
66
	bool WriteData ( const char *data, size_t size );
100
	bool WriteData ( const char *data, size_t size );
67
	bool WriteString ( CyString data );
101
	bool WriteString ( CyString data );
68
 
102
 
69
	bool WritePartFile ( size_t *offsets, size_t numOffset );
103
	bool WritePartFile ( size_t *offsets, size_t numOffset );
70
	int TruncateFile ( size_t offset, size_t datasize );
104
	int TruncateFile ( size_t offset, size_t datasize );
71
	bool WipeFile();
105
	bool WipeFile();
72
	
106
	
73
 
-
 
74
	bool Exists ();
107
	bool exists() const;
-
 
108
	bool ExistsOld () const;
75
	bool AppendFile ( CyString filename );
109
	bool AppendFile ( CyString filename );
76
	bool AppendData ( const char *d, size_t size );
110
	bool AppendData ( const char *d, size_t size );
77
	bool AppendDataToPos ( const char *d, size_t size, size_t start );
111
	bool AppendDataToPos ( const char *d, size_t size, size_t start );
78
 
112
 
79
	bool CheckFileExtension(CyString ext) { return (GetFileExtension().Compare(ext)) ? true : false; }
113
	bool CheckFileExtension(CyString ext) { return (GetFileExtension().Compare(ext)) ? true : false; }
80
	CyString GetFileExtension ();
114
	CyString GetFileExtension ();
81
	CyString ChangeFileExtension ( CyString ext );
115
	CyString ChangeFileExtension ( CyString ext );
82
	CyString GetWindowsFilename();
116
	CyString GetWindowsFilename();
83
 
117
 
84
	void SetDir ( CyString dir );
118
	void SetDir ( CyString dir );
-
 
119
	void setAutoDelete(bool bDelete);
85
 
120
 
86
private:
121
private:
87
	int _in();
122
	int _in() const;
88
	int _out();
123
	int _out() const;
89
	int _append();
124
	int _append() const;
-
 
125
	int _inout() const;
-
 
126
	bool _start(int iFlags, bool bSeekP);
90
 
127
 
91
	void _readFileSize ();
128
	void _readFileSize ();
-
 
129
	void _seek(int iPos, int iFrom);
-
 
130
 
-
 
131
	bool _write(const char *buf, va_list args);
92
 
132
 
93
private:
133
private:
94
	Utils::String m_sFilename;
134
	Utils::String m_sFilename;
95
	Utils::String m_sFile;
135
	Utils::String m_sFile;
96
	CDirIO   m_sDirIO;
136
	CDirIO   m_sDirIO;
97
 
137
 
98
	bool m_bOpened;
138
	bool m_bSeekP;
99
	bool m_bBinary;
139
	bool m_bBinary;
-
 
140
	bool m_bAutoDelete;
100
 
141
 
101
	std::ifstream m_fId;
142
	std::fstream m_fId;
102
 
143
 
103
	size_t m_lSize;
144
	size_t m_lSize;
104
};
145
};
105
 
146
 
106
#endif //__FILE_IO_H__
147
#endif //__FILE_IO_H__