#include "wx/filefn.h"
#include "wx/strconv.h"
-// ----------------------------------------------------------------------------
-// constants
-// ----------------------------------------------------------------------------
-
-// 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
-enum wxPosixPermissions
-{
- // standard Posix names for these permission flags:
- wxS_IRUSR = 00400,
- wxS_IWUSR = 00200,
- wxS_IXUSR = 00100,
-
- wxS_IRGRP = 00040,
- wxS_IWGRP = 00020,
- wxS_IXGRP = 00010,
-
- wxS_IROTH = 00004,
- wxS_IWOTH = 00002,
- wxS_IXOTH = 00001,
-
- // longer but more readable synonyms for the constants above:
- wxPOSIX_USER_READ = wxS_IRUSR,
- wxPOSIX_USER_WRITE = wxS_IWUSR,
- wxPOSIX_USER_EXECUTE = wxS_IXUSR,
-
- wxPOSIX_GROUP_READ = wxS_IRGRP,
- wxPOSIX_GROUP_WRITE = wxS_IWGRP,
- wxPOSIX_GROUP_EXECUTE = wxS_IXGRP,
-
- wxPOSIX_OTHERS_READ = wxS_IROTH,
- wxPOSIX_OTHERS_WRITE = wxS_IWOTH,
- wxPOSIX_OTHERS_EXECUTE = wxS_IXOTH,
-
- // default mode for the new files: allow reading/writing them to everybody but
- // the effective file mode will be set after anding this value with umask and
- // so won't include wxS_IW{GRP,OTH} for the default 022 umask value
- wxS_DEFAULT = (wxPOSIX_USER_READ | wxPOSIX_USER_WRITE | \
- wxPOSIX_GROUP_READ | wxPOSIX_GROUP_WRITE | \
- wxPOSIX_OTHERS_READ | wxPOSIX_OTHERS_WRITE),
-
- // default mode for the new directories (see wxFileName::Mkdir): allow
- // reading/writing/executing them to everybody, but just like wxS_DEFAULT
- // the effective directory mode will be set after anding this value with umask
- wxS_DIR_DEFAULT = (wxPOSIX_USER_READ | wxPOSIX_USER_WRITE | wxPOSIX_USER_EXECUTE | \
- wxPOSIX_GROUP_READ | wxPOSIX_GROUP_WRITE | wxPOSIX_GROUP_EXECUTE | \
- wxPOSIX_OTHERS_READ | wxPOSIX_OTHERS_WRITE | wxPOSIX_OTHERS_EXECUTE)
-};
-
// ----------------------------------------------------------------------------
// class wxFile: raw file IO
//
wxFILE_KIND_PIPE // a pipe
};
+// 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
+enum wxPosixPermissions
+{
+ // standard Posix names for these permission flags:
+ wxS_IRUSR = 00400,
+ wxS_IWUSR = 00200,
+ wxS_IXUSR = 00100,
+
+ wxS_IRGRP = 00040,
+ wxS_IWGRP = 00020,
+ wxS_IXGRP = 00010,
+
+ wxS_IROTH = 00004,
+ wxS_IWOTH = 00002,
+ wxS_IXOTH = 00001,
+
+ // longer but more readable synonyms for the constants above:
+ wxPOSIX_USER_READ = wxS_IRUSR,
+ wxPOSIX_USER_WRITE = wxS_IWUSR,
+ wxPOSIX_USER_EXECUTE = wxS_IXUSR,
+
+ wxPOSIX_GROUP_READ = wxS_IRGRP,
+ wxPOSIX_GROUP_WRITE = wxS_IWGRP,
+ wxPOSIX_GROUP_EXECUTE = wxS_IXGRP,
+
+ wxPOSIX_OTHERS_READ = wxS_IROTH,
+ wxPOSIX_OTHERS_WRITE = wxS_IWOTH,
+ wxPOSIX_OTHERS_EXECUTE = wxS_IXOTH,
+
+ // default mode for the new files: allow reading/writing them to everybody but
+ // the effective file mode will be set after anding this value with umask and
+ // so won't include wxS_IW{GRP,OTH} for the default 022 umask value
+ wxS_DEFAULT = (wxPOSIX_USER_READ | wxPOSIX_USER_WRITE | \
+ wxPOSIX_GROUP_READ | wxPOSIX_GROUP_WRITE | \
+ wxPOSIX_OTHERS_READ | wxPOSIX_OTHERS_WRITE),
+
+ // default mode for the new directories (see wxFileName::Mkdir): allow
+ // reading/writing/executing them to everybody, but just like wxS_DEFAULT
+ // the effective directory mode will be set after anding this value with umask
+ wxS_DIR_DEFAULT = (wxPOSIX_USER_READ | wxPOSIX_USER_WRITE | wxPOSIX_USER_EXECUTE | \
+ wxPOSIX_GROUP_READ | wxPOSIX_GROUP_WRITE | wxPOSIX_GROUP_EXECUTE | \
+ wxPOSIX_OTHERS_READ | wxPOSIX_OTHERS_WRITE | wxPOSIX_OTHERS_EXECUTE)
+};
+
// ----------------------------------------------------------------------------
// declare our versions of low level file functions: some compilers prepend
// underscores to the usual names, some also have Unicode versions of them
WXDLLIMPEXP_BASE bool wxSetWorkingDirectory(const wxString& d);
// Make directory
-WXDLLIMPEXP_BASE bool wxMkdir(const wxString& dir, int perm = 0777);
+WXDLLIMPEXP_BASE bool wxMkdir(const wxString& dir, int perm = wxS_DIR_DEFAULT);
// Remove directory. Flags reserved for future use.
WXDLLIMPEXP_BASE bool wxRmdir(const wxString& dir, int flags = 0);
/////////////////////////////////////////////////////////////////////////////
-/**
- 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.
-*/
-enum wxPosixPermissions
-{
- /// standard Posix names for these permission flags
- //@{
- wxS_IRUSR = 00400,
- wxS_IWUSR = 00200,
- wxS_IXUSR = 00100,
-
- wxS_IRGRP = 00040,
- wxS_IWGRP = 00020,
- wxS_IXGRP = 00010,
-
- wxS_IROTH = 00004,
- wxS_IWOTH = 00002,
- wxS_IXOTH = 00001,
- //@}
-
- /// longer but more readable synonims for the constants above
- //@{
- wxPOSIX_USER_READ = wxS_IRUSR,
- wxPOSIX_USER_WRITE = wxS_IWUSR,
- wxPOSIX_USER_EXECUTE = wxS_IXUSR,
-
- wxPOSIX_GROUP_READ = wxS_IRGRP,
- wxPOSIX_GROUP_WRITE = wxS_IWGRP,
- wxPOSIX_GROUP_EXECUTE = wxS_IXGRP,
-
- wxPOSIX_OTHERS_READ = wxS_IROTH,
- wxPOSIX_OTHERS_WRITE = wxS_IWOTH,
- wxPOSIX_OTHERS_EXECUTE = wxS_IXOTH,
- //@}
-
- /// Default mode for the new files: allow reading/writing them to everybody but
- /// the effective file mode will be set after ANDing this value with umask and
- /// so won't include wxS_IW{GRP,OTH} for the default 022 umask value
- wxS_DEFAULT = (wxPOSIX_USER_READ | wxPOSIX_USER_WRITE | \
- wxPOSIX_GROUP_READ | wxPOSIX_GROUP_WRITE | \
- wxPOSIX_OTHERS_READ | wxPOSIX_OTHERS_WRITE),
-
- /// Default mode for the new directories (see wxFileName::Mkdir): allow
- /// reading/writing/executing them to everybody, but just like wxS_DEFAULT
- /// the effective directory mode will be set after ANDing this value with umask
- wxS_DIR_DEFAULT = (wxPOSIX_USER_READ | wxPOSIX_USER_WRITE | wxPOSIX_USER_EXECUTE | \
- wxPOSIX_GROUP_READ | wxPOSIX_GROUP_WRITE | wxPOSIX_GROUP_EXECUTE | \
- wxPOSIX_OTHERS_READ | wxPOSIX_OTHERS_WRITE | wxPOSIX_OTHERS_EXECUTE)
-};
-
-
-
/**
@class wxTempFile
*/
bool wxRemoveFile(const wxString& file);
+/**
+ File permission bit names.
+
+ We define these constants in wxWidgets because S_IREAD &c are not standard.
+ However, we do assume that the values correspond to the Unix umask bits.
+*/
+enum wxPosixPermissions
+{
+ /// Standard POSIX names for these permission flags with "wx" prefix.
+ //@{
+ wxS_IRUSR = 00400,
+ wxS_IWUSR = 00200,
+ wxS_IXUSR = 00100,
+
+ wxS_IRGRP = 00040,
+ wxS_IWGRP = 00020,
+ wxS_IXGRP = 00010,
+
+ wxS_IROTH = 00004,
+ wxS_IWOTH = 00002,
+ wxS_IXOTH = 00001,
+ //@}
+
+ /// Longer but more readable synonyms for the constants above.
+ //@{
+ wxPOSIX_USER_READ = wxS_IRUSR,
+ wxPOSIX_USER_WRITE = wxS_IWUSR,
+ wxPOSIX_USER_EXECUTE = wxS_IXUSR,
+
+ wxPOSIX_GROUP_READ = wxS_IRGRP,
+ wxPOSIX_GROUP_WRITE = wxS_IWGRP,
+ wxPOSIX_GROUP_EXECUTE = wxS_IXGRP,
+
+ wxPOSIX_OTHERS_READ = wxS_IROTH,
+ wxPOSIX_OTHERS_WRITE = wxS_IWOTH,
+ wxPOSIX_OTHERS_EXECUTE = wxS_IXOTH,
+ //@}
+
+ /// Default mode for the new files: allow reading/writing them to everybody but
+ /// the effective file mode will be set after ANDing this value with umask and
+ /// so won't include wxS_IW{GRP,OTH} for the default 022 umask value
+ wxS_DEFAULT = (wxPOSIX_USER_READ | wxPOSIX_USER_WRITE | \
+ wxPOSIX_GROUP_READ | wxPOSIX_GROUP_WRITE | \
+ wxPOSIX_OTHERS_READ | wxPOSIX_OTHERS_WRITE),
+
+ /// Default mode for the new directories (see wxFileName::Mkdir): allow
+ /// reading/writing/executing them to everybody, but just like wxS_DEFAULT
+ /// the effective directory mode will be set after ANDing this value with umask
+ wxS_DIR_DEFAULT = (wxPOSIX_USER_READ | wxPOSIX_USER_WRITE | wxPOSIX_USER_EXECUTE | \
+ wxPOSIX_GROUP_READ | wxPOSIX_GROUP_WRITE | wxPOSIX_GROUP_EXECUTE | \
+ wxPOSIX_OTHERS_READ | wxPOSIX_OTHERS_WRITE | wxPOSIX_OTHERS_EXECUTE)
+};
+
/**
Makes the directory @a dir, returning @true if successful.
@header{wx/filefn.h}
*/
-bool wxMkdir(const wxString& dir, int perm = 0777);
+bool wxMkdir(const wxString& dir, int perm = wxS_DIR_DEFAULT);
/**
Removes the directory @a dir, returning @true if successful. Does not work