#include "wx/filefn.h"
#include "wx/datetime.h"
#include "wx/intl.h"
+#include "wx/longlong.h"
+#include "wx/file.h"
#if wxUSE_FILE
-class WXDLLIMPEXP_BASE wxFile;
+class WXDLLIMPEXP_FWD_BASE wxFile;
#endif
#if wxUSE_FFILE
-class WXDLLIMPEXP_BASE wxFFile;
+class WXDLLIMPEXP_FWD_BASE wxFFile;
+#endif
+
+// this symbol is defined for the platforms where file systems use volumes in
+// paths
+#if defined(__WXMSW__) || defined(__DOS__) || defined(__OS2__)
+ #define wxHAS_FILESYSTEM_VOLUMES
#endif
// ----------------------------------------------------------------------------
// what exactly should GetPath() return?
enum
{
+ wxPATH_NO_SEPARATOR = 0x0000, // for symmetry with wxPATH_GET_SEPARATOR
wxPATH_GET_VOLUME = 0x0001, // include the volume if applicable
wxPATH_GET_SEPARATOR = 0x0002 // terminate the path with the separator
};
wxPATH_MKDIR_FULL = 0x0001 // create directories recursively
};
+#if wxUSE_LONGLONG
// error code of wxFileName::GetSize()
-extern wxULongLong wxInvalidSize;
+extern WXDLLIMPEXP_DATA_BASE(const wxULongLong) wxInvalidSize;
+#endif // wxUSE_LONGLONG
}
#endif // wxUSE_DATETIME
-#ifdef __WXMAC__
+#if defined( __WXOSX_MAC__ ) && wxOSX_USE_CARBON
bool MacSetTypeAndCreator( wxUint32 type , wxUint32 creator ) ;
bool MacGetTypeAndCreator( wxUint32 *type , wxUint32 *creator ) ;
// gets the 'common' type and creator for a certain extension
#endif // wxUSE_FFILE
// directory creation and removal.
- bool Mkdir( int perm = 0777, int flags = 0);
- static bool Mkdir( const wxString &dir, int perm = 0777, int flags = 0 );
+ bool Mkdir( int perm = wxS_DIR_DEFAULT, int flags = 0);
+ static bool Mkdir( const wxString &dir, int perm = wxS_DIR_DEFAULT, int flags = 0 );
bool Rmdir();
static bool Rmdir( const wxString &dir );
static wxString GetPathTerminators(wxPathFormat format = wxPATH_NATIVE);
// get the canonical path separator for this format
- static wxChar GetPathSeparator(wxPathFormat format = wxPATH_NATIVE)
+ static wxUniChar GetPathSeparator(wxPathFormat format = wxPATH_NATIVE)
{ return GetPathSeparators(format)[0u]; }
// is the char a path separator for this format?
wxString *path,
wxPathFormat format = wxPATH_NATIVE);
- // Filesize
+#ifdef wxHAS_FILESYSTEM_VOLUMES
+ // return the string representing a file system volume, or drive
+ static wxString GetVolumeString(char drive, int flags = wxPATH_GET_SEPARATOR);
+#endif // wxHAS_FILESYSTEM_VOLUMES
+
+ // File size
+#if wxUSE_LONGLONG
// returns the size of the given filename
wxULongLong GetSize() const;
static wxULongLong GetSize(const wxString &file);
static wxString GetHumanReadableSize(const wxULongLong &sz,
const wxString &nullsize = wxGetTranslation(_T("Not available")),
int precision = 1);
+#endif // wxUSE_LONGLONG
// deprecated methods, don't use any more