#pragma interface "file.h"
#endif
-#include "wx/string.h"
-#include "wx/filefn.h"
+#ifndef WX_PRECOMP
+ #include "wx/string.h"
+ #include "wx/filefn.h"
+#endif
// ----------------------------------------------------------------------------
// constants
// ----------------------------------------------------------------------------
-// error return value for Seek() functions
-const off_t ofsInvalid = (off_t)-1;
-
// we redefine these constants here because S_IREAD &c are _not_ standard
// however, we do assume that the values correspond to the Unix umask bits
#define wxS_IRUSR 00400
#define wxS_IXOTH 00001
// default mode for the new files: corresponds to umask 022
-#define wxS_DEFAULT (wxS_IRUSR | wxS_IWUSR | wxS_IRGRP | wxS_IROTH)
+#define wxS_DEFAULT (wxS_IRUSR | wxS_IWUSR | wxS_IRGRP | wxS_IWGRP |\
+ wxS_IROTH | wxS_IWOTH)
// ----------------------------------------------------------------------------
// class wxFile: raw file IO
public:
// more file constants
// -------------------
-
// opening mode
enum OpenMode { read, write, read_write, write_append };
// standard values for file descriptor
// static functions
// ----------------
- static bool Exists(const char *sz); // also checks it's a regular file
+ // check whether a regular file by this name exists
+ static bool Exists(const char *name);
+ // check whetther we can access the given file in given mode
+ // (only read and write make sense here)
+ static bool Access(const char *name, OpenMode mode);
// ctors
// -----
// returns number of bytes read or ofsInvalid on error
off_t Read(void *pBuf, off_t nCount);
// returns true on success
- uint Write(const void *pBuf, uint nCount);
+ size_t Write(const void *pBuf, size_t nCount);
// returns true on success
bool Write(const wxString& s) { return Write(s.c_str(), s.Len()) != 0; }
// flush data not yet written
bool Error() const { return m_error; }
// dtor closes the file if opened
- ~wxFile();
+ ~wxFile();
private:
// copy ctor and assignment operator are private because
bool IsOpened() const { return m_file.IsOpened(); }
// I/O (both functions return true on success, false on failure)
- bool Write(const void *p, uint n) { return m_file.Write(p, n) != 0; }
+ bool Write(const void *p, size_t n) { return m_file.Write(p, n) != 0; }
bool Write(const wxString& str) { return m_file.Write(str); }
// different ways to close the file
};
#endif
- // __FILEH__
+ // _WX_FILEH__