Allow testing for existence of specific file types in wxFileName.
Add "flags" parameter to wxFileName::Exists() to allow testing for the existing of files of specific type: not only regular or directory but also symlink, device, FIFO or socket. And also to pass wxFILE_EXISTS_NO_FOLLOW flag inhibiting following the symlinks without using DontFollowLink(). Closes #14542. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72707 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -108,6 +108,20 @@ enum
|
||||
wxPATH_RMDIR_RECURSIVE = 0x0002 // delete all recursively (dangerous!)
|
||||
};
|
||||
|
||||
// FileExists flags
|
||||
enum
|
||||
{
|
||||
wxFILE_EXISTS_REGULAR = 0x0001, // check for existence of a regular file
|
||||
wxFILE_EXISTS_DIR = 0x0002, // check for existence of a directory
|
||||
wxFILE_EXISTS_SYMLINK = 0x0004, // check for existence of a symbolic link
|
||||
wxFILE_EXISTS_DEVICE = 0x0008, // check for existence of a device
|
||||
wxFILE_EXISTS_FIFO = 0x0016, // check for existence of a FIFO
|
||||
wxFILE_EXISTS_SOCKET = 0x0032, // check for existence of a socket
|
||||
// gap for future types
|
||||
wxFILE_EXISTS_ANY = 0x0FFF, // check for existence of anything
|
||||
wxFILE_EXISTS_NO_FOLLOW = 0x1000 // don't dereference a contained symlink
|
||||
};
|
||||
|
||||
#if wxUSE_LONGLONG
|
||||
// error code of wxFileName::GetSize()
|
||||
extern WXDLLIMPEXP_DATA_BASE(const wxULongLong) wxInvalidSize;
|
||||
@@ -224,8 +238,8 @@ public:
|
||||
|
||||
// does anything at all with this name (i.e. file, directory or some
|
||||
// other file system object such as a device, socket, ...) exist?
|
||||
bool Exists() const;
|
||||
static bool Exists(const wxString& path);
|
||||
bool Exists(int flags = wxFILE_EXISTS_ANY) const;
|
||||
static bool Exists(const wxString& path, int flags = wxFILE_EXISTS_ANY);
|
||||
|
||||
|
||||
// checks on most common flags for files/directories;
|
||||
|
Reference in New Issue
Block a user